IT/언리얼4

UE4 콘솔 명령어 사용 방법 및 자주 사용하는 명령 목록 정리

KSI 2019. 5. 9. 17:31

 

콘솔 명령의 용도


콘솔 명령의 용도는 주로 다음과 같습니다.

1. 디버깅 정보를 화면에 UI로 표시
↓ 예 : stat fps / stat unit / stat unitgraph. 얼마나 처리 시간이 걸려 있는지를 표시한다.


↓ 예 : stat particles. 파티클 통계. 지금 얼마나 나와 있고, 얼마나 처리가 걸려 있는지를 표시합니다.



2. 디버깅에 그리기를 변경
↓ 예 : show bounds. 각 Actor의 바운딩 박스를 표시합니다.



3. 디버깅을 위한 움직임 전환
↓ 예 : ToggleDebugCamera. 디버깅 용 카메라를 자유롭게 움직일 수있다. 또한 화면 중앙에있는 Actor와 자료의 정보도 볼 수 있습니다.



4. 게임을하는 동안 작업을 수행 (예 : RestartLevel)

5. 편집기의 동작을 변경 (예 : culture = kr)

 


명령 사용 방법

명령을 입력하는 방법에는 여러 가지가 존재합니다. 주요 방법은 다음 네 가지입니다. 1 번과 2 번은 자주 사용하므로 기억합시다.

1. OutputLog (출력 로그) 창에서 사용
↓ 1 단계 : Output Log (출력 로그) 창을 표시한다.



↓ 2 단계 : 나온 창 하단에 입력한다.



2. 게임 실행 중에 Console Key를 누르면 나타나는 입력란
↓ 1 단계 : 프로젝트 설정 -> 입력 -> Console-> Console Keys 키를 추가합니다.
기본적으로 "`"를 사용합니다.


↓ 2 단계 : 게임 실행 중에 "`"키를 누르면 이렇게 명령 입력 필드가 표시됩니다.


3. Blueprint의 Execute Console Command 노드에서 입력



4. C ++에서 입력
다음의 방법으로 C ++에서도 명령을 보낼 수있다. PC는 PlayerController.

PC-> ConsoleCommand ( <Command>, true );

 


 

자주 사용하는 명령 목록

 

Basic

DumpConsoleCommands 콘솔 명령 목록을 Output Log로 출력한다. 모든 명령이 출력되는 것은 아니기 때문에 주의.


조작

Open <LevelName (MapURL)> 이전 설정을 그대로 유지하면서 지정된 수준을 연다. (Persistent Level의 대체)
Travel <LevelName (MapURL)> 모든 설정을 초기화하고 지정된 레벨을 연다. (Persistent Level의 대체)
RestartLevel 현재의 수준을 다시로드.
slomo <PlayRate> 슬로우 모션 / 빨리 감기하는 ex. slomo 0.5
quit 또는 exit 게임을 종료

 

일반적인 Debug 계 명령

getall <Class name> <Property name> 대상 클래스의 속성을 OutputLog 창에 한 칸에 출력한다.
obj list OutputLog 창에 각 개체의 수와 사용 메모리 양을 출력한다.

주회 플레이 메모리 누수 (개체 수 증가) 검사에 사용할 수있다.

DisableAllScreenMessages 2D 스크린에서 디버그 표시를 비활성화
stat levels 현재 로드된 Level보기. 로드에 걸린 시간도 표시된다.

녹색 : Unload 상태

빨간색 : Load 상태

ViewMode <ViewModeName> 그리기 방법을 전환합

ViewModeName에는 다음의 것이있다.

Lit / Unlit / Wireframe / LightingOnly / ShaderComplexity 등

ToggleDebugCamera 게임 중의 카메라를 떠나 디버깅 다른 카메라로 전환한다.

동시에 주시 지점의 자산 정보를 화면에 표시한다.

log list 로깅 카테고리
log <category> <level> category의 로깅 수준을 변경한다.
<로그 수준>
NoLogging
Fatal
Error
Warning
Display
Log
Verbose
VeryVerbose
All <편리 명령>
log LogStreaming Verbose <- 자산로드 관련 로그를 출력
ce <EventName> 표시되는 모든 레벨의 <EventName> 사용자 정의 이벤트를 호출한다.
KismetEvent <Object 이름 or *> <EventName> Blueprint의 이벤트를 직접 호출. <Object 이름>을 지정하는 장소에는 「*」을 지정하면 전체 BP에 날릴.

 

Memory

stat MemoryPlatform 종합적인 현재의 메모리 사용량과 남은 양 표시
stat MemoryAllocator  
stat Memory  
stat MemoryStaticMesh  
stat ParticleMem  
stat SceneMemory  
mem Detailed 로그에 메모리 사용량을 한꺼번에 출력
memreport (-full) 메모리 상태를 Saved / Profiling / MemReports 폴더 아래에 파일로 출력한다. 확장자는 memreport, 단순한 텍스트.
rhi.DumpMemory RHI 자원 메모리 덤프. 모든 항목이 mem Detailed에 포함되어 있는

rhi : Render Hardware Interface

 

Performance (공통)

stat fps 화면에 FPS를 표시
stat unit 화면에 Game 스레드 Draw 스레드, GPU 스레드 1 프레임 당 소요 시간을 표시
stat unitgraph stat unit의 내용을 그래프로 표시
stat Raw stat unitgraph의 내용을 필터링하지 않고 원시 데이터를 사용
stat hitches 히치를 감지하고 기록
stat dumphitches 히치시 로그를 덤프한다. 기본적으로 75ms 이상이지만 "t.HitchThreshold 0.075"고하여 값을 변경
stat game 전반적인 Tick 시간을 몇 가지 항목으로 분류 해 볼 수 있습니다. Navi Tick Time / Net Tick Time / Post Tick Component Update / World Tick Time etc ...
StartFPSChart / StopFPSChart Saved / Profiling / FPSChartStats 다음에 FPS 정보의 로그를 출력한다. 출력되는 CSV를 사용하여 그래프도있다.

 

Performance (CPU Time)

stat startfile / stat stopfile ※ Session Frontend를 사용할 상황에서는 Session Frontend에서 같은 조작이 가능

start로부터 stop까지의 프로파일 결과를 파일에 ue4stats 형식으로 출력

Output Log 출력 경로가 표시된다.

출력 된 파일은 Session Frontend (Editor에서 Window → Developer Tools → Session Frontend)의 Profiler 탭에서 볼 수있다.

아마 UFUNCTION되어있는 함수가 프로파일 대상이지만, C ++ 코드에 QUICK_SCOPE_CYCLE_COUNTER매크로를 빚는 경우 핀 포인트로 프로필있다.

공식 문서 : CPU Profiling

 

Performance (GPU Time)

ProfileGPU

GPU의 stats 정보를 그래프로 표시.
또한 Output Log 창에 프로파일 결과를 텍스트로 표시된다.
Ctrl + Shift +, (쉼표)로 단축키가 할당되어있다.

stat SceneRendering Draw call etc ...
stat Cnvas  
stat LightRendering  
stat ShadowRendering  
stat Particles  
ViewMode ShaderComplexity Viewport에서 Shader 부하가 걸려있는 곳을 붉게 표시
show <ElementName> ↓ ElementName에는 다음 항목이 사용할 수있다.

AmbientOcclusion
AntiAliasing
Bloom
Decals
DeferredLighting
DirectionalLights
PointLights
SpotLights
DynamicShadows
GlobalIllumination
LightFunctions
Particles
PostProcessing
ReflectionEnvironment
Refraction
Rendering
ScreenSpaceReflections
Landscape
Brushes
StaticMeshes
SkeletalMeshes
ShadowFrustums
(↑ 동적 그림자를 생성하는 후라스타무을 표시 .EditorViewport의 Show-> Advanced-> Shadow Frustums라도 표시 )
Landscape
Translucency
Tessellation

※ 그 밖에도있다. "show"만 입력하면 로그 창에 목록이 표시

※ Pause를 걸쳐 여러 Show 명령에서 표시 / 숨기기를하면 원인은 무엇 무거워지고 있는지 알기 쉽다.

공식 문서 : GPU Profiling

 

Maniac

ParticleSystemAudit Particle 모니터링
culture = [CultureID] 에디터 지역 / 언어 설정을 즉시 변경한다.

CultureID는 북미 / 영어라면 "en"