SlideShare a Scribd company logo
1 of 56
애니메이션 블루프린트 기초
2019.3.9
데브루키 언리얼 스터디 ACA(박수찬)
http://www.free-powerpoint-templates-design.com
애니메이션 시스템
스켈레탈메시와 스켈레톤
UE4의 애니메이션은 만들어진 애니메이션을 재생하거나, 블렌딩하거나,
애니메이션의 특정 시점에 이벤트를 만들거나, 스테이트 머신 등을 사용해 로직
을 꾸미는 등 다양한 애니메이션 관련 기능을 지원한다.
스켈레톤
스켈레톤이란
캐릭터를 이루는 가상의 뼈대(뼈대를 정의하는 계층 구조)
를 스켈레톤이라 한다. 스켈레톤을 이루는 각각의 구성
요소를 본(Bone)이라 하며 스켈레톤 에셋은 본의 이름과
본끼리 이루는 계층구조의 리스트로 구성되어 있다.
(+ 원본 스켈레탈 메시의 초기 비율 등)
애니메이션 시퀀스
애니메이션 시퀀스란, 스켈레탈 메시에서 재
생할 수 있는 단일 애니메이션 에셋이며, 일
정 시점에서의 스켈레톤의 본의 위치,
회전값, 스케일값 등을 담고 있다.
애니메이션 시퀀스
즉 애니메이션은 특정한 스켈레톤의 시점별
위치값 정보이기 때문에, 스켈레톤을 공유할
수 있다면 다른 캐릭터의 애니메이션도 공유
받아 사용할 수 있다.
스켈레탈 메시
스켈레탈 메시
스켈레탈 메시란, 스켈레톤에 연관시켜서 애니메이션이 가능한 시각적
으로 볼 수 있는 3d 모델링 리소스를 의미한다.
만약 스켈레탈 메시의 구조가 크게 다르지 않거나, 조금 다르더라도 근본
적인 구조가 비슷하다면 스켈레탈 메시가 가진 스켈레톤 에셋은 서로 공
유하여 사용될 수 있다.
이전의 본 구성, 본의 작명방식,본의 계층 정보가 유지된
채로 추가적인 요소를 추가할 경우 스켈레톤 에셋의 공유
(즉 애니메이션의 공유)가 가능하다
본의 계층 정보가 바뀌었으므로 재활용 불가능
애니메이션 블루프린트
애니메이션 블루프린트
캐릭터의 애니메이션을 제어하는 블루프린트
애니메이션 블루프린트
애님 그래프
애니메이션의 로직 설계하여 스켈레탈 메시의 최종 포즈를 구하는데
사용된다. 애님 인스턴스의 값을 가져와 사용할 수 있다.
달리기 애니메이션 예제
파일 – 새로운 C++ 클래스 – 모든 클래스 표시 체크 -AnimInstance 생성
애님 인스턴스 생성
애니메이션 블루프린트 생성
애니메이션 블루프린트 생성
애니메이션 블루프린트
블렌드 노드
애니메이션의 자연스러운 전환을 위해, 애니메이션을 블렌딩 하는데
사용되며 애님 그래프에서 조작할 수 있다. 2가지 이상의 애니메이션
에 가중치나 시간값을 부여하여 애니메이션을 섞거나 전환하는데 사용
된다.
블렌드
2가지 애니메이션을 혼합한다. Alpha를 통해 A와 B 애니메이션의
가중치를 다르게 할 수 있다.
애디티브 블렌드
2가지 애니메이션을 더한다.
달리기(Base) + 재장전(Additive)
걷기(Base) + 탈진(Additive)
장점 : 애니메이션을 조합하여 재활용할 수 있다
단점 : 단순히 더하는 방법이기 때문에 원하는 애니메이션을
얻을 수 있다는 보장이 없다.
애디티브 블렌드
부울 변수로 블렌드 적용
Blend poses by bool
Bool 변수 값을 기준으로 애니메이션을 전환합니다. 블
렌드 시간을 적절히 조절하면 전환을 더욱 자연스럽게
할 수 있습니다.
0.1 이하로 지정 시 즉시 전환되는 것처럼 보입니다.
더욱 정교한 블렌딩이 필요하다면 블렌딩 스페이스를
이용한다.
http://api.unrealengine.com/KOR/Engine/Animation/
Blendspaces/index.html
너무 복잡해질 수 있다
유한 상태 기계(FSM)
상태(state)와 트랜지션, 룰(rule)로 구성되는
기계. 한 번에 하나의 상태만을 가질 수
있으며 전이 조건이 맞으면 다른 상태로 전이
할 수 있다.
스테이트 머신
애니메이션 리타겟
같은 스켈레톤을 공유하는 스켈레탈
메시 끼리는 애니메이션을 공유할
수 있다.
스켈레톤 에셋은 애니메이션을 재생
할 때 원본 스켈레탈 메시에 대응되
는 비율을 기준으로 비율을 정의하
기 때문에 비율이 다른(훨씬 작거나,
훨씬 크거나) 스켈레탈 메시는 재생
시 늘어나거나, 변형될 수 있다.
애니메이션 리타겟
그러므로 사용할 스켈레톤의 비율을 맞춰 주어야 하고, 이 작업을
‘애니메이션 리타기팅‘ 혹은 ‘스켈레톤 리타깃팅’이라고 한다.
애니메이션 리타겟
애니메이션 리타겟
스켈레톤이 다르다면?
다른 스켈레톤을 사용하더라도 애니메이션 리타겟을 적용할
수 있다.
애니메이션 리타겟
스켈레톤이 다르다면?
다른 스켈레톤을 사용하더라도
애니메이션 리타겟을 적용할 수
있다. 단, 이 떄는 ‘릭(Rig)'이라
는 에셋을 사용하여야 한다.
릭
한 스켈레톤에서 다른 스켈레톤으로 정보를 전달할 때 릭 애셋을 경유하여 정보를
전달한다. 그러므로 스켈레톤의 본을 릭의 노드에 셋업 시키는 과정이 필요하며,
이렇게 릭을 적용해 놓으면 다른 스켈레톤 사이에서도 리타게팅을 할 수 있다.
애니메이션 리타게팅
릭
릭
릭
릭
릭
애니메이션 리타게팅
애니메이션 노티파이
애니메이션 시퀀스 도중, 특정 시점에서 이
벤트를 발생시킬 수 있도록 구성할 수 있는
기능.
간단하게는 사운드 재생, 파티클 재생부터
블루프린트와 C++를 통해 다양하게 커스텀
할 수도 있다.
(ex. 걸을 때의 발소리, 흙먼지 등..)
Notify track을 우클릭 -> New notify로 생성
애니메이션 노티파이
스켈레톤(커스텀) 노티파이
스켈레톤 노티파이를 통해 애니메이션 블루프린트 혹은 C++에서 이벤트의
조건으로 활용하거나 여러 기능들을 구현할 수 있다.
블루프린트에서 Add Anim Notify Event 항목으로 가져온다.
c++에서는 AnimNotify_XXXXX(노티파이 이름) 으로 발동할 수 있다.
클로딩 시뮬레이션 노티파이(Clothing Simulatoin Notify)
노티파이를 통해 클로딩 시뮬레이션의 시작, 정지를 제어할 수 있다.
파티클 이펙트 재생
블루프린트를 사용하지 않고, 디테일 패널에서 파티클의 원점 등을 제어
사운드 재생
간단한 사운드를 재생할 수 있으며, 소리원점, 소리의 따라가기 여부 등을
설정할 수 있다.
등등...
애니메이션 노티파이
애니메이션 몽타주
산탄총의 재장전이나 입력에 따른 콤보 공격 등 애니메이션을 제어
할 때 사용된다.
애니메이션 몽타주
신규 추가 -> 애니메이션 -> 애니메이션 몽타주로 생성한다
몽타주를 사용하길 원하는 스켈레톤을 선택
애니메이션 몽타주
그 외의 기능들..
감사합니다.
출처 : 언리얼 엔진 4 문서
http://api.unrealengine.com/KOR/
이득우의 언리얼 C++ 게임개발의 정석

More Related Content

What's hot

【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~UnityTechnologiesJapan002
 
MRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessMRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessYuichi Ishii
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDyaegashi
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...エピック・ゲームズ・ジャパン Epic Games Japan
 
背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~poko ponmaru
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원강 민우
 
GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告t h
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지jdo
 
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なことhistoria_Inc
 
Unreal_GameAbilitySystem.pptx
Unreal_GameAbilitySystem.pptxUnreal_GameAbilitySystem.pptx
Unreal_GameAbilitySystem.pptxTonyCms
 
UE4+Photonでネットワーク同期を行う
UE4+Photonでネットワーク同期を行うUE4+Photonでネットワーク同期を行う
UE4+Photonでネットワーク同期を行うShohei Yamamoto
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -historia_Inc
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
【WF2019w】キャラクターフィギュアモデリングTips ~早く綺麗に作るコツとテクニック~
【WF2019w】キャラクターフィギュアモデリングTips  ~早く綺麗に作るコツとテクニック~【WF2019w】キャラクターフィギュアモデリングTips  ~早く綺麗に作るコツとテクニック~
【WF2019w】キャラクターフィギュアモデリングTips ~早く綺麗に作るコツとテクニック~KaoruSakaki
 
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】UnityTechnologiesJapan002
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略Haruki Yano
 
【Unity Reflect】どんなものか試してみよう〜基礎編〜
【Unity Reflect】どんなものか試してみよう〜基礎編〜【Unity Reflect】どんなものか試してみよう〜基礎編〜
【Unity Reflect】どんなものか試してみよう〜基礎編〜Unity Technologies Japan K.K.
 

What's hot (20)

【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
 
MRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessMRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial Awareness
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
 
背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
 
GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지
 
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
 
Unreal_GameAbilitySystem.pptx
Unreal_GameAbilitySystem.pptxUnreal_GameAbilitySystem.pptx
Unreal_GameAbilitySystem.pptx
 
UE4+Photonでネットワーク同期を行う
UE4+Photonでネットワーク同期を行うUE4+Photonでネットワーク同期を行う
UE4+Photonでネットワーク同期を行う
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
 
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
【WF2019w】キャラクターフィギュアモデリングTips ~早く綺麗に作るコツとテクニック~
【WF2019w】キャラクターフィギュアモデリングTips  ~早く綺麗に作るコツとテクニック~【WF2019w】キャラクターフィギュアモデリングTips  ~早く綺麗に作るコツとテクニック~
【WF2019w】キャラクターフィギュアモデリングTips ~早く綺麗に作るコツとテクニック~
 
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
 
【Unity Reflect】どんなものか試してみよう〜基礎編〜
【Unity Reflect】どんなものか試してみよう〜基礎編〜【Unity Reflect】どんなものか試してみよう〜基礎編〜
【Unity Reflect】どんなものか試してみよう〜基礎編〜
 

스켈레탈 메시 애니메이션 블루프린트