애니메이션 인사이트 개요

에디터 플러그인으로 제공되는 게임플레이 및 애니메이션 퍼포먼스 프로파일링 툴인 Animation Insights에 대한 개요

Choose your operating system:

Windows

macOS

Linux

추가 참고

에디터에는 게임플레이 상태와 라이브 애니메이션 동작을 시각화하는 애니메이션 인사이트(Animation Insights) 플러그인이 있습니다. 애니메이션 인사이트의 사용자는 트레이스 정보를 기록하여 다음과 같은 기능으로 애니메이션 동작을 시각화할 수 있습니다:

  • 채널 필터링: 기록된 데이터 세트에 쓰여진 트레이스 데이터를 선택할 수 있습니다.

  • 소스 필터링: 트레이스 데이터를 출력하는 게임플레이 오브젝트를 선택할 수 있습니다.

  • 포즈(Pose), 커브(Curve), 블렌드 웨이트(Blend Weight), 애님 그래프(Anim Graph), 몽타주(Montage), 애님 노티파이(Anim Notify) 트랙

  • 스키매틱 애님 그래프(Schematic Anim Graph) 뷰: 라이브 업데이트를 제공하여 'showdebug animation' 시스템을 대체합니다.

AnimationInsightsHero.png

구성

에디터에서 애니메이션 인사이트를 사용하려면 다음 플러그인을 활성화하세요:

  • 애니메이션 인사이트(Animation Insights)

  • 인사이트 데이터 소스 필터(Insights Data Source Filters)

  • 트레이스 데이터 필터링(Trace Data Filtering)

(이 플러그인을 에디터 내에서 활성화하려면 에디터(Editor) > 플러그인(Plugins) > 내장 플러그인(Built-In) 아래 플러그인(Plugins) 탭에서 찾으세요. 그렇지 않은 경우 이 플러그인을 프로젝트의 '*.uproject' 파일에서 활성화합니다.

{
    "FileVersion": 3,
    "EngineAssociation": "4.25",
    "Category": "",
    "Description": "",
    "Plugins": [
        {
            "Name": "TraceSourceFilters",
            "Enabled": true
        },
        {
            "Name": "GameplayInsights",
            "Enabled": true
        },
        {
            "Name": "TraceDataFilters",
            "Enabled": true
        }
    ]
} 

필수 플러그인을 활성화한 후 에디터를 재시작하세요.

소스에서 에디터를 빌드한 경우 필수 플러그인을 활성화한 후에 프로젝트를 위해 에디터를 컴파일하고 실행해야 합니다.

에디터가 다시 시작하면 Window(창) > Developer Tools(개발자 툴) > Profiling(프로파일링) 으로 이동하여 Animation Insights(애니메이션 인사이트)Trace Data Filtering(트레이스 데이터 필터링) 을 엽니다.

트레이스 데이터 또는 트레이스 소스 필터링으로 필터를 구성한 후에는 애니메이션 인사이트에서 라이브 트레이스 데이터가 기록되고 시각화됩니다. 트레이스는 다음 프로젝트 디렉터리에 자동으로 내용을 작성합니다: '/Saved/TraceSessions'. 트레이스 세션은 시간이 지나면서 크기가 커질 수 있으므로 '*.utrace' 파일을 적극적으로 모니터링하고 관리해야 합니다.

트레이스 데이터 필터링

트레이스 데이터 필터링 탭은 처음에는 콘텐츠 브라우저 옆에 열립니다. 트레이스 데이터 필터링에서 사용자는 엔진 실행 시 데이터 추적 기준(trace data by) 을 활성화하도록 트레이스 채널 상태를 설정할 수 있습니다. 사용자는 필터를 선택한 후 Filter Presets(프리셋 필터링) > Save User Preset(사용자 프리셋으로 저장) 을 선택할 수 있습니다. 현재 에디터는 프레임(Frame), 오브젝트(Object), 애니메이션(Animation) 채널을 활성화하는 기본 애니메이션 프리셋(Animation preset)을 제공합니다.

채널에 대한 일반 정보를 알아보려면 Unreal Insights}|hpp(을,를) 참조하세요.

Data Filter Status

채널 필터링

채널이 활성화되면 데이터가 애니메이션 인사이트 하위 탭의 타임라인으로 트레이스됩니다.

선택적 채널 필터링은 퍼포먼스 오버헤드를 줄이고 디스크 공간을 아낄 수 있습니다.

AnimationInsightsHero.png

씬의 스켈레탈 메시 컴포넌트의 애니메이션 데이터 트레이스를 볼 수 있는 에디터에서 플레이(Play In Editor, PIE)

트레이스 소스 필터링

트레이스 소스 필터링을 사용하여 사용자는 트레이스 데이터를 출력하는 게임플레이 오브젝트를 결정할 수 있습니다. 사용자가 대규모 게임을 작업 중인 경우 월드 안에는 수많은 액터와 컴포넌트가 존재하게 됩니다. 트레이스 소스 필터링을 사용하면, 기록되는 트레이스 데이터 양을 줄이고 오버헤드를 제한하고 사용되는 디스크 공간의 크기를 줄일 수 있습니다(예: 사용자가 플레이어 폰이나 플레이어 범위 내의 특정 액터에만 관심이 있는 경우에 사용).

트레이스 소스 필터 탭을 열려면 애니메이션 인사이트에서 Menu(메뉴) > (필터링) Trace Source Filtering(트레이스 소스 필터링) 을 선택합니다.

유저 인터페이스

TraceSourceFilteringUI.png

번호

설명

1

필터 추가(Add Filter) 드롭다운을 사용하면 AND, OR 및 NOT 논리 연산자로 생성한 필터를 추가하고 결합할 수 있습니다. 옵션(Options) 을 사용하면 각 액터와 해당 액터의 개별 필터링 상태를 시각화하고 현재 필터를 재설정하고 필터 프리셋을 저장하거나 로드할 수 있습니다.

2

컨텍스트에 민감한 지역으로, 필터 변수 값을 설정합니다.

3

옵션(Options) 드롭다운을 사용하면 월드 타입(World Type) (에디터, PIE 또는 게임)이나 월드 넷 모드(World Net Mode) (클라이언트, 서버 또는 스탠드얼론)를 기준으로 월드 필터링을 할 수 있습니다.

다음 애니메이션은 트레이스 소스 필터링이 실제로 작동하는 모습을 보여줍니다:

소스 필터 상태

자세한 내용은 트레이스.

애니메이션 인사이트

애니메이션 인사이트는 애니메이션 런타임 내부 데이터를 표시하는 기존 'showdebug animation' 기능을 더욱 확장합니다. 사용자는 정보를 시각화하고 분석하는 기능을 통해 애니메이션 문제 또는 버그의 원인을 파악할 수 있습니다.

시간이 지나면서 'showdebug animation'은 점점 사용자가 애니메이션 문제를 추적할 수 있는 능력을 제한했습니다. 이는 'showdebug animation' 시스템이 화면에 텍스트만 출력하기 때문입니다. 애니메이션 인사이트를 사용하면 애니메이션 버그를 포함하는 프레임 범위를 기록할 수 있음은 물론, 데이터 분석을 검토하는 동안 이러한 프레임을 스크럽(또는 재생)할 수도 있습니다.

Scrubbing Selection

애니메이션 인사이트 스키매틱 뷰에서 라이브 업데이트를 사용합니다. 이 기능이 'showdebug animation'을 대체합니다.

제어 레퍼런스

Input Shortcut

Function

Ctrl + 좌클릭하여 타임 룰러(Time Ruler)로 드래그

타임 룰러(트랙 화면 위)를 드래그하여 현재 시간을 제어하면 값을 스키매틱 뷰에서 스크럽하거나 뷰포트에서 포즈 애니메이션을 재생하는 등의 작업 수행 가능

G

그래프 가시성 토글

V

현재 뷰포트에 타이밍 이벤트가 없는 트랙을 자동으로 숨김

I

I/O(파일 입력) 개요 및 활동 트랙(Activity Track) 가시성 토글

L

애셋 로딩 트랙 가시성 토글

Y

GPU 트랙 가시성 토글

U

CPU 스레드(및 모든 CPU 스레드 그룹) 트랙 가시성 토글

R

프레임 트랙 가시성 토글

유저 인터페이스

번호

설명

1

타이밍 인사이트(Timing Insights) 트랙(예: 카운터, 프레임)을 표시할 수 있게 해주는 애니메이션 인사이트 메뉴입니다. 또한 이 메뉴에서 트레이스 소스 필터링 패널을 열 수 있습니다.

2

프레임 패널

3

트랙 그룹 및 필터링 옵션이 있는 타이밍 패널입니다. 아래에서 사용 가능한 트랙 타입을 확인하세요.

4

구체적인 프로퍼티, 시각화 스타일(폴리곤, 포인트 등), 시리즈 데이터, 트랙 레이아웃, 트랙 크기를 볼 수 있게 해주는 컨텍스트 메뉴입니다.

5

기록된 세션 및 스텝 프레임을 재생하게 해주는 전송 제어 기능입니다.

6

각 트랙의 프로퍼티를 표시하는 스키매틱 뷰로, 룰러를 스크럽하는 동안 시간이 지나면서 점점 변합니다.

타이밍 인사이트, 프레임 패널, 타이밍 패널, 트랙 등에 대해 자세히 알아보려면 Unreal Insights|hpp(을,를) 참조하세요.

트랙 검사

디버깅 또는 퍼포먼스 분석을 위해 트랙을 검사하려면 트랙을 우클릭하여 컨텍스트 메뉴에 따라 트랙에 대해 자세히 알아보세요.

GraphContextMenu.png

Graph - AnimSingleNodeInstance_1을 우클릭하면 그래프 트랙(Graph Track) 컨텍스트 메뉴가 열립니다.

일반적으로 애니메이터는 애니메이션에서 문제가 있는 부분을 식별해야 합니다. 애니메이션 인사이트는 애니메이터가 노티파이, 커브, 포즈, 그래프, 몽타주, **블렌드 웨이트**를 시각화할 수 있도록 하여 디버깅 프로세스를 돕습니다.

트랙 타입(Track Types)

각 트랙 타입은 자체적인 컨텍스트 메뉴를 포함하며, 이는 트랙별 연산을 위한 주요 엔트리 포인트입니다(예: 포즈 트랙(Pose Track) 메뉴는 뷰포트 렌더링에 포즈를 활성화하거나 비활성화할 수 있습니다). 일부 트랙에는 공통적인 컨텍스트 메뉴 옵션이 있습니다. 예를 들어 그래프를 표시하는 트랙은 그래프 스케일 조절, 시리즈 토글, 중첩/오버레이 뷰 등을 허용합니다.

노티파이(Notifies)

노티파이 트랙은 노티파이 및 싱크 마커와 관련하여 애니메이션을 표시합니다. 트랙의 최상단 레인에는 틱, 노티파이 이벤트(예: 오디오, 이펙트 관련)와 싱크 마커가 표시됩니다. 다른 레인에는 활성 노티파이 상태가 표시됩니다. 트랙을 우클릭하고 프로퍼티 보기(View Properties)를 선택하면 현재 프레임의 활성 노티파이가 표시됩니다.

AnimNotifyTrack.png

커브(Curves)

커브 트랙에는 한 프레임에서 활성 상태였던 모든 곡선이 표시됩니다. 우클릭하고 프로퍼티 보기를 선택하면 지정 프레임에서 활성 상태였던 커브 값을 볼 수 있습니다.

CurveTrack.png

포즈(Pose)

포즈 트랙은 타임라인을 스크럽하는 동안 액터 포즈를 표시하거나 숨길 수 있게 해줍니다.

PoseTrack.png

그래프(Graph)

우클릭하여 이 그래프 디버그(Debug this graph)를 선택하면 애니메이션 블루프린트 디버거를 열어 트랙에 연결할 수 있습니다. 애니메이션 블루프린트 디버거가 열린 상태에서 타임라인을 스크럽하면 작동 중인 그래프(포즈 링크 웨이트, 스테이트 머신의 스테이트, 애셋 플레이어 포지션, 블렌드 스페이스 샘플 등)를 볼 수 있습니다. 이 그래프 보기(View this graph)를 선택하면 애니메이션 그래프의 스키매틱 '트리' 뷰를 확인할 수 있습니다.

GraphTrack.png

몽타주(Montage)

몽타주 트랙을 사용하면 시간 경과에 따른 몽타주 정보(블렌드 웨이트, 현재/다음 섹션 포함)를 확인할 수 있습니다.

MontageTrack.png

블렌드 웨이트(Blend Weights)

블렌드 웨이트 트랙은 프레임에서 활성 상태였던 모든 애셋과 해당 애셋의 유효한 블렌드 웨이트를 보여줍니다. 그래프를 우클릭하면 그래프에 대응하는 애니메이션 블루프린트의 노드로 이동할 수 있습니다. 또한 재생 시간, 블렌드 스페이스 좌표 등의 다른 그래프도 볼 수 있습니다.

BlendWeights2.png

트랙 가시성(Track Visibility)

트랙(Tracks) 드롭다운 필터를 사용하면 타이밍 트랙 가시성을 토글할 수 있습니다.

TracksFilter.png

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.