2025/06/10 3

어빌리티 태스크 (AT)의 활용

Unreal GAS: 어빌리티 태스크(AT) 활용 패턴 정리Gameplay Ability System(GAS)에서 어빌리티는 한 프레임 내에서 시작되며,EndAbility 혹은 CancelAbility가 호출되기 전까지는 계속 실행 상태를 유지합니다.즉, GA가 시작되면 명시적으로 끝내기 전까지는 유효합니다. 시간이 걸리는 GA는 어떻게 설계할까?어빌리티 중에는 애니메이션 재생, 캐스팅 타임, 딜레이 후 효과 적용 등 시간이 필요한 작업들이 있습니다.이런 작업을 동기적으로 처리하면 복잡해지고 GA가 차단될 수 있기 때문에,비동기 방식으로 처리하는 것이 좋습니다.이를 위해 GAS는 Ability Task(AT, 혹은 Task Ability로 TA)를 제공합니다. 어빌리티 태스크(AT) 활용 패턴기본 사용 ..

UE5/GAS 2025.06.10

D3D11 Resize Viewport

뷰 포트를 윈도우 전체가 아니라,원하는 영역만 뷰포트를 사용하도록 하는 예제를 짜볼 것이다. 그 전에 RTV에 대한 정의를 해보자.RTV(Render Target View)란?RTV(Render Target View)는 GPU가 픽셀을 출력할 수 있는 대상(Render Target)을 가리키는 Direct3D 11의 뷰(View) 객체이다. 흔히 백 버퍼(back buffer)나 오프스크린 텍스처와 연결된다.RTV를 OMSetRenderTargets()를 통해 파이프라인에 바인딩하면, 렌더링 결과가 해당 리소스에 출력된다.뷰포트 설정 시, 이 RTV가 참조하는 텍스처의 크기를 기준으로 자동 조절 가능하다. 전체 코드: RTV 기준 자동 뷰포트 설정#include #include // Microsof..

그래픽스/DX11 2025.06.10

T{} 영초기화 구문과 템플릿화

// 예시 코드template void Grid::veryfyCoordinate(size_t x, size_t y){ if(x >= m_width) { throw std::out_of_range { std::format("{} must br less than {}", x, m_width); } } if(y >= m_height) { throw std::out_of_range { std::format("{} must br less than {}", y, m_height); } }}클래스 템플릿 메서드 구현 코드를 작성할 때특정한 템플릿 타입 매개변수를 T에 대하여 디폴트 값을 지정하려면,T{}와 같은 문법에 ..