Visual Studio 팁 & 트릭

Visual Studio에서의 언리얼 엔진 콘텐츠 작업을 위한 유용한 팁 & 트릭입니다.

직접 실행 창

명령

설명

**{,,UnrealEditor-Core}::PrintScriptCallstack()**

블루프린트 콜스택

**{,,UnrealEditor-Core}::GFrameNumber**

현재 프레임 번호(조건식 중단점으로도 작동함)

**{,,UnrealEditor-Core}::GPlayInEditorID**

PIE ID(멀티플레이어에 유용함, 조건식 중단점으로도 작동함)

**UnrealEditor-Engine!GPlayInEditorContextString**

PIE 창 이름(멀티플레이어에 유용함)

빠른 레퍼런스

최적화 비활성화/활성화

다음 매크로는 사용자가 추가하는 파일의 컴파일러 최적화를 비활성화 및 활성화합니다.

PRAGMA_DISABLE_OPTIMIZATION
PRAGMA_ENABLE_OPTIMIZATION

최적화가 비활성화되면 코드가 트레이스 또는 단계별 디버그 세션 동안 필요한 임시 또는 디버깅 변수를 제거하지 않고 작성한 대로 정확히 실행됩니다. 이는 전체 디버그 빌드를 사용하지 않고 선택적으로 파일을 디버그하고 싶을 때 유용합니다.

디버그 선

디버그 선 은 뷰포트에 그려지는 선으로, 주로 선 트레이스나 패스의 경로를 보여주는 용도입니다. 디버그 선을 사용하려면 DrawDebugHelpers.h 를 포함해야 합니다. 다음 코드는 DrawDebugLine 사용 방법을 보여줍니다.

#include "DrawDebugHelpers.h"
DrawDebugLine(GetWorld(), START, END, FColor::Green);

DrawDebugHelpers 에는 표준 디버그 선뿐만 아니라 다수의 디버그 드로어가 있습니다. 다음과 같은 항목이 포함됩니다.

  • 프리미티브 셰이프

    • DrawDebugBox

    • DrawDebugSphere

    • DrawDebugCapsule

    • DrawDebugCylinder

    • DrawDebugPlane

    • DrawDebugCone

    • DrawDebugPoint

  • 솔리드 셰이프

    • DrawDebugSolidBox

    • DrawDebugSolid Plane

  • 기타 일반 셰이프

    • DrawDebugFrustrum

    • DrawDebugCamera

    • DrawDebugCrosshairs

  • 메시

    • DrawDebugMesh

디버그 텍스트

다음 코드는 화면에 디버그 텍스트를 작성하는 방법의 예시를 제공합니다. 이는 Print String 블루프린트 노드의 기능을 미러링합니다.

#include "Engine/Engine.h"
FString MyDebugString = FString::Printf(TEXT("MyVelocity(%s)"), *MyVelocity.ToCompactString());
GEngine->AddOnScreenDebugMessage(INDEX_NONE, 0.f, FColor::Yellow, MyDebugString, false, FVector2D::UnitVector * 1.2f);

FString::Printf 함수는 스트링 포맷 파라미터를 취할 수 있어, 변수를 포함하는 스트링을 빠르게 구성하는 방법을 제공합니다. GEngine 에 액세스하려면 AddOnScreenDebugMessage 를 호출할 수 있도록 Engine.h 를 포함해야 합니다. 스트링 포맷 사용법에 대한 자세한 정보는 언리얼 엔진의 스트링 처리를 참조하세요.

열거형을 스트링으로

열거형(Enum)은 스태틱 UEnum 에서 GetNameStringByValue 를 호출하고 이름을 얻고자 하는 값과 함께 제공하여 스트링으로 변환할 수 있습니다. UEnum 은 값이 전달되는 열거형과 동일한 타입의 StaticEnum 으로 초기화해야 합니다.

EMyEnum::Type MyVariable;
static const UEnum* Enum = StaticEnum<EMyEnum::Type>();
Enum->GetNameStringByValue(MyVariable);

환경설정 콤보 박스 너비 수정하기

디폴트 솔루션 환경설정 콤보 박스는 현재 선택된 옵션의 전체 이름을 보기에는 너무 작습니다. 이를 수정하려면 툴바 에서 우클릭한 후 Customize 를 선택하고, Commands 탭으로 이동하여 Toolbar 라디오 버튼 > Standard 를 선택합니다. 그런 다음 솔루션 Solution Configurations 에서 스크롤을 내려 Modify Selection 에서 원하는 너비를 입력합니다. 일반적인 경우 너비 200이 좋습니다.

환경설정 콤보 박스 수정하기

Visual Studio 2019 속도 높이기

언리얼 프로젝트와 함께 작업할 경우 Visual Studio 2019가 느려질 수 있습니다. 다음은 퍼포먼스를 개선할 수 있는 몇 가지 전략입니다.

디버깅이 느린 경우

Option > Debugging > General 에서 다음 세팅을 비활성화해 보세요.

  • 디버깅하는 동안 Enable Diagnostic Tools 를 비활성화합니다.

  • 디버깅하는 동안 Show elapsed time PerfTip 를 비활성화합니다.

Perforce Visual Studio 히스토리가 모든 메서드 위에 표시되는 경우

P4VS 히스토리 표시

Perforce Visual Studio 히스토리가 모든 메서드 위에 표시되지 않도록 하려면 Tools > Options > Text Editor\All Languages\CodeLens > Enable CodeLens 를 체크 해제합니다.

솔루션을 열거나 디버깅할 때 Visual Studio가 느린 경우

심볼 검색에 Visual Assist 등의 다른 플러그인을 사용 중인 경우, Intellisense 데이터베이스를 비활성화하여 솔루션을 파싱하지 않도록 할 수 있습니다. 다음 경로에서 비활성화할 수 있습니다. Tools > Options > Text Editor > C/C++ > Advanced > Set Disable Database = true

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소