전체 글 297

[UE5] Game Ability System 디버깅 명령

showdebug abilitysystem 이 기능은 세 개의 "페이지"로 나뉩니다. 세 페이지 모두 현재 가지고 있는 게임플레이 태그를 표시합니다. AbilitySystem.Debug.NextCategory showdebug abilitysystem 명령으로 디버깅을 킨 상태에서 AbilitySystem.Debug.NextCategory 명령으로 세 페이지를 순환할 수 있습니다. AbilitySystem.Debug.PrevTarget 명령으로 이전 페이지로 순회 할 수도 있습니다. 첫 페이지 : 모든 어트리뷰트의 CurrentValue가 표시됩니다. 두 번째 페이지 : 모든 지속 시간 및 무한 게임플레이 이펙트와 스택 수, 해당 이펙트가 부여하는 게임플레이 태그, 부여하는 모디파이어가 표시됩니다. 세 ..

[UE5] 최적화를 위한 프로파일링 개요 및 편의 기능들

큰 범위 병목 지점 찾기 프로파일링은 큰 범위에서부터 시작하여 점차 범위를 좁혀가며 분석하는 것이 효율적입니다. 먼저 언리얼 엔진에서 제공하는 콘솔 명령어를 사용하여 큰 범위의 병목 지점을 쉽게 찾을 수 있습니다. 가장 먼저 확인해야 할 것은 어떤 쓰레드에서 병목 현상이 발생하는지, 혹은 GPU에서 발생하는지를 파악하는 것입니다. 이를 가장 잘 확인할 수 있는 방법은 'stat unit' 명령어를 사용하는 것입니다. stat unit은 항목을 구분하여 병목 지점을 쉽게 찾을 수 있도록 큰 범위로 보여줍니다. → 대부분의 경우 분석 시작의 처음은 'stat unit' 또한, stat unitgraph 콘솔 명령어를 사용하여 실시간 그래프와 함께 동일한 지표를 표시할 수도 있습니다. 60프레임을 목표로 한다..

[UE5] 최적화를 위한 프로파일링 사전 준비

독립형 게임으로(Standalone Game) 플레이 일반적으로 쉽게 프로파일링을 할 수 있는 방법은 'Standalong Game'으로 게임을 실행 하는 것입니다. 그렇지만, 좀 더 정확한 프로파일링은 하기 위해서는 패키지 빌드로 게임을 실행해야 겠습니다. 프로파일링 사전 준비 에디터 실시간 업데이트 모드 해제 에디터 최소화 독립형 게임으로(Standalone Game) 실행 후 'Unreal Editor'를 최소화 합니다. Frame Rate Smoothing OFF 프로젝트 세팅에서 다음과 같이 Frame Rate Smoothing을 꺼줍니다. VSync 끄기 콘솔 명령 : r.vsync 0 참고 : Unreal Engine의 VSync Physics Sub Stepping OFF 프로젝트 세팅에서..

실리콘밸리에선 어떻게 일하나요

책의 제목으로 '실리콘밸리에선 이떻게 일하나요'보다는 '메타에선 어떻게 일하나요'가 좀 더 어울립니다. 창업자의 경영 철학이 회사의 비전이 되어 회사 전체의 문화가 되고 이 문화가 인재들을 성장시키고 인재들을 모은다. 메타의 조직 문화는 '자율과 책임'이 뒷받침된 '인간중심'의 문화이다. 자율적인 업무 방식이 성공적으로 유지되기 위해서는 반드시 '책임'이 따라야 한다. bottom-up, 동등함, 공유, 인간중심 등의 키워드가 메타의 조직문화를 설명 한다. 탑다운은 한 정된 인원인 상위에 있는 리더들의 아이디어로, 바텀업은 훨씬 더 많은 사원들의 아이디어로 창의성이 발현된다. 당연히 창의적인 업종에 있다면 어느쪽이 그 성과가 더 좋을지는 어린아이들도 알 것이다. 물론 조직의 비전은 탑다운으로 정해야 겠습..

독서 리뷰 2023.04.23

팀장 리더십 수업 - 다시 읽기

2021년 5월 31일에 처음 읽고 또 다시 '팀장 리더십 수업'을 읽게 되었다. [독서 리뷰] - 팀장 리더십 수업 아는 만큼 보인다는 말이 있듯이 2년전의 나와 지금의 나는 또 다른 사람인 듯 하다. 이 책에 이런 내용이 있었나 싶을 정도로 새롭게 보이는 내용들이 많았다. 이 책은 현재 게임 개발 PD를 맡고 있기에 어떤 것들을 더 잘해야 할지 어떤 것에 소홀했는지 다시 한 번 생각 해 볼 수 있게해 주었다. '점수판'을 보여주라. 팀에 '스크럼 보드'를 아날로그 식으로 표시하기 이해 큰 보드를 구매 했었는데... 아직까지 활용을 못하고 있었다. 이 보드를 활용하여 모두가 목표를 향한 현재의 위치를 잘 알 수 있도록 할 수 있도록 활용해야 겠다. 팀장은 '원숭이'를 키우는 사람을 관리해야지 직접 모두..

독서 리뷰 2023.04.16

[UE] 셰이더 컴파일 속도 올리기(Shader complie)

WorkerProcessPriority는 Unreal Engine에서 셰이더 컴파일러의 우선순위를 설정하는 옵션입니다. 셰이더 컴파일러는 게임의 렌더링에 사용되는 매우 중요한 역할을 수행하는데, 대규모 프로젝트에서는 수많은 셰이더가 존재하기 때문에 컴파일 속도가 매우 느려질 수 있습니다. WorkerProcessPriority설정은 이러한 문제를 해결하기 위해 존재합니다. BaseEngine.ini 파일에서 해당 설정을 변경하면, 각 셰이더 컴파일러의 우선순위가 조정됩니다. 우선순위를 높이면 컴파일 속도가 빨라지지만, 다른 작업들의 우선순위가 낮아질 수 있습니다. WorkerProcessPriority옵션의 값으로는 -2 (Low), -1 (Below Normal), 0 (Normal), 1 (Above..

[UE] Blueprint에서 Shipping, Development 빌드 확인(UE_BUILD_SHIPPING)

다음과 같이 Build Configuration을 가져와서 스트링 비교하여 Shipping 빌드인지 Development 빌드인지 확인 할 수 있습니다. BlueprintFunctionLibrary로 GetGuildConfiguration 함수를 구현해줍니다. class MY_API UMyFunctionLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION(BlueprintPure, Category = PlusLibrary) static void GetBuildConfiguration(FString& Configuration); }; void UMyFunctionLibrary::GetBuildConfiguration(..