반응형

UE5 19

[UE5] Game Ability System 상세 로그 보기

Game Ability System 소스 코드에는 많은 로깅들이 구현 되어 있습니다. 이러한 로그들은 ABILITY_LOG() 문으로 남기고 있습니다. 로그의 표시 수준 : VeryVerbose < Verbose < Log < Display < Warning < Warning < Error < Fatal 로그 카테고리 별로 표시 수준이 정해져 있으며 표시 수준 보다 낮은 수준은 표시 하지 않습니다. 예를 들어 아래 표에서 LogAbilitySystem 로그 카테고리의 표시 수준이 Display이면 'Display < Warning < Warning < Error < Fatal' 수준의 로그만 표시 됩니다. 로그 카테고리 표시 수준 LogAbilitySystem Display LogAbilitySystem..

[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 프로젝트 세팅에서..

[UE5] stat unit

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

[UE5] 루멘(Rumen)

루멘은 특별한 하드웨어 가속 없이도 실시간으로 사용 가능한 완전한 다이나믹 글로벌 일루미네이션 기능을 제공합니다. 이전에는 사실적인 간접광 표현에 큰 제약이 있었습니다. 정적인 GI를 위해 라이트 맵 베이킹을 하거나 인위적인 보조광을 배치해야 했습니다. 하지만 이제 루멘을 사용하면 현실과 같은 방식으로 빛을 다룰 수 있습니다. 루멘에서는 스카이 라이트를 사용하여 대기에서 산란되는 태양광으로 지상 전체를 골고루 밝혀주는 느낌을 낼 수 있습니다. 스카이 라이트는 그림자도 지원하기 때문에 동굴에 뚫린 틈으로 동굴을 비추는 GI 효과를 구현할 수 있습니다. 볼륨 메트릭 포그와 반투명 재질의 GI를 지원하며, Emissive 머터리얼에서 발생되는 라이팅의 GI도 지원합니다. 반사된 표면에도 동적인 GI가 적용됩니..

[UE5] 버추얼 섀도우 맵

버추얼 섀도우 맵 나나이트의 멀티뷰 랜더링 덕분에 사용 가능한 기능입니다. 버추얼 섀도우 맵은 고해상도 텍스처를 사용하여 선명한 그림자와 소프트한 그림자를 제어할 수 있습니다. 또한 가상화된 텍스처를 사용하기 때문에 해상도 부족으로 인한 깨짐 현상이 없습니다. 변경된 부분만 캐시를 활용하여 업데이트하며, 빛의 움직임이 임계치 이상일 경우 캐시가 무효화됩니다. 따라서 빛의 방향이 갑작스럽게 변할 경우 성능 비용이 발생할 수 있습니다. 또한, 섀도우 맵의 크기는 라이트당 16kx16k로 제한되며, 포인트 라이트는 16k 큐브맵으로 지원됩니다. 더이상 뎁스 바이어스(Depthbias)가 불필요해져 ShadowAcne, PeterPanning 등의 현상이 발생하지 않습니다. 또한, 물리 기반의 디노이징된 음영 ..

[UE5] 나나이트 사용하기

나나이트 먼저 다음 글을 참고하면 좋습니다. [게임 개발/Unreal Engine] - [UE5] 나나이트 소개 나나이트 활성/비활성 스태닉 메쉬 선택하여 나나이트 활성화합니다. 뷰모드에서 나나이트가 적용 되었는지 확인할 수 있습니다. '나나이트 시각화 > 트라이앵글'을 선택합니다. 나나이트가 적용되지 않은 메쉬는 검정색으로 표시됩니다. 유리 같은 반투명 재질은 나나이트를 지원하지 않으므로 꺼줘야 합니다. 나나이트를 적용하면 액자의 내용이 보이지 않는 것을 확인 할 수 있습니다. 나나이트 프록시 메쉬 나나이트를 사용할 수 없는 플랫폼에서는 나나이트 메시 대신에 나나이트 프록시 메시가 사용됩니다. 이 프록시 메시는 폴리곤 2000개 이하로 간소화된 메시입니다. 프록시 트라이앵글 퍼센트를 조정하여 프록시 메..

[UE5] 모션 매칭(Motion Matching) 설정

[게임 개발/Unreal Engine] - [UE5] 모션 매칭(Motion Matching) Motion Matching Node 모션 매칭의 노드가 모션 매칭의 핵심입니다. 이 노드의 주요 입력으로는 Database와 Trajectory(궤적)입니다. Trajectory는 캐릭터에 컴포넌트로 추가한 이동 궤적을 예측하기 위한 컴포넌트를 입력합니다. Trajectory Component Trajectory 컴포넌트는 CharacterMovement 컴포넌트와 함께 동작하도록 설계되었습니다. 모션 궤적 컴포넌트는 미래의 움직임에 대한 예측뿐만 아니라 과거 움직임의 기록 히스토리도 지원합니다. 지평선 궤적에 시간 또는 거리 제한을 설정해야 합니다. 모션의 예측은 2초 모션의 과거 기록은 0.5초를 기록하도..

[UE5] 모션 매칭(Motion Matching)

Motion Trajectory Motion Trajectory Plugin을 사용하도록 합니다. BP_ThirdPersonCharacter 블루프린트를 열어서 캐릭터에 CharacterMovementTrajectory 컴포넌트를 추가합니다. 그리고, CharacterMovementTrajectory에서 Debug Draw Trajectory를 켜줍니다. 다음과 같이 블루프린트 노드를 작성합니다. 실행하면 다음과 같이 캐릭터의 예측과 트랙 히스토리를 시각화 하여 볼 수 있습니다. Pose Search Pose Search Plugin을 사용하도록 합니다. Motion Database와 Motion Database Config 데이터 어셋을 생성합니다. Motion Database 설정 Motion Dat..

반응형