분류 전체보기 303

[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(..

[수학] 미분(Differential)

미분은 영어로 differential(차이) 이고, 한자로는 잘게 나누다는 뜻입니다. 미분 이해의 열쇠는 평균 변화율입니다. 그리고 또하나의 열쇠는 극한입니다. 극한을 이해하지 않고 미분·적분을 제대로 이해 할 수 없습니다. 극한을 이해 하는 이해하는 것은 \(\infty\)(무한대)를 이해하는 것입니다. 미분은 문자 그대로 '미세하게 나눈다'는 말입니다. 즉, 미분은 함수를 한없이 작게 나누는 분석입니다. 무한대는 문자 그대로 '끝없이 크다'는 말인데 이를 상상하기 가장 쉬운 것이 바로 '등차 수열'과 '등비 수열'입니다. 다음의 등차 수열 관련 정의가 낯설다면 다음 글을 참고하세요. : [게임 개발/게임 수학] - 등차 수열 [등차 수열의 일반항] \(\mathbf{a_n} = \mathbf{a_1}..

[수학] 순열(Permutation), 조합(Combination)

순열 순열(Permutation)은 객체를 순서에 따라 배열하는 방법의 수를 나타내는 것입니다. 즉, 순서를 고려하여 뽑는 경우의 수. A, B, C, D, E 5개의 문자중에서 순서를 고려하여 3개를 뽑는 경우의 수는 60(5x4x3)가지입니다. 처음에는 5개 중에서, 다음은 4개 중에서, 그 다음은 3개 중에서 뽑을 수 있기 때문입니다. 기호로 표시하면 다음과 같습니다. $${_5}P{_3}=5\times4\times3 = 60$$ 조합 조합(Combination)은 n개의 객체 중에서 r개의 객체를 선택하는 방법의 수를 나타내는 것입니다. 즉, 선서를 고려하지 뽑는 경우의 수. A, B, C, D, E 5개의 문자중에서 순서를 고려하지 않고 3개를 뽑는 경우의 수는 10가지 입니다. 순서를 고려 했..

[UE5] stat unit

Stat Unit stat unit 콘솔 명령어는 언리얼 엔진 뷰포트 내에서 유용한 성능 지표의 가시성을 전환합니다. 또한, stat unitgraph 콘솔 명령어를 사용하여 지표의 실시간 그래프와 함께 동일한 지표를 표시할 수도 있습니다. 각 항목들의 의미는 다음과 같습니다. Frame 게임의 한 프레임을 생성하는 데 소요된 총 시간입니다. Game 게임 쓰레드에서 사용된 시간입니다. 값이 프레임 시간과 유사하면, 게임 성능은 게임 쓰레드에 의해 병목이 발생한 것으로 보입니다. Draw 드로우: 렌더링 쓰레드에서 사용된 시간입니다. 값이 프레임 시간과 유사하면, 게임 성능은 렌더링 쓰레드에 의해 병목이 발생한 것으로 보입니다. GPU GPU: 씬 렌더링에 사용된 GPU에서 소요된 시간입니다. GPU 시..

Unreal Engine의 VSync

Unreal Engine의 VSync(수직동기화)는 화면에 프레임이 제대로 출력되도록 하는 기술입니다. 일반적으로 컴퓨터 모니터는 고정된 주사율을 갖고 있으며, 이 주사율은 초당 화면이 갱신되는 횟수를 의미합니다. VSync는 컴퓨터가 프레임을 모니터의 주사율과 동기화하여, 화면에 깨짐 현상이나 화면 티어링(tearing)이 발생하지 않도록 보장합니다. Unreal Engine에서 VSync는 게임의 설정에서 켜거나 끌 수 있습니다. (r.vsync) VSync를 켜면 게임 엔진은 프레임을 모니터의 주사율과 맞추려고 노력하며, 이는 FPS(Frame per second)를 모니터의 주사율과 일치시켜 60프레임 이하로 제한하게 됩니다. 이로 인해 화면이 부드럽게 출력되는 대신, 게임의 성능이 저하될 수 있..

반응형