애니메이션 인사이트 개요

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

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)을 제공합니다.

채널에 대한 일반 정보를 알아보려면 언리얼 인사이트 개요 }|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

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

타이밍 인사이트, 프레임 패널, 타이밍 패널, 트랙 등에 대해 자세히 알아보려면 언리얼 인사이트 개요 |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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback