언리얼 애니메이션.pptx

M
언리얼 애니메이션
DevRookie JINN
애니메이션 시퀀스와 몽타주의 차이?
몽타주를 사용하지 않는다면 이유는?
애니메이션 노티파이와 노티파이 스테이트의 차이?
애니메이션 인스턴스는 무슨 역할을 하는가?
등등등…
언리얼 애니메이션.pptx
애니메이션 시스템 구성 요소
• 애님 시퀀스
• 애님 몽타주
• 애님 노티파이
• 애님 인스턴스
• 애님 블루프린트
• 애님 이벤트
• 애님 그래프
• 애님 슬롯 / 그룹
• 스테이트 머신
• 블렌드 스페이스
등등등 …
애니메이션 시퀀스 애니메이션 몽타주
애니메이션 에셋
애님 시퀀스
• 애니메이션을 구성하는 가장 기본적인 언리얼 에셋
• 본 구조를 가진 스켈레탈 메시에서 재생 가능 한 단일 애니메이션 (스테틱 메쉬 X)
• 키프레임 단위로 본들이 가진 위치 정보
몽타주?
쿨레쇼프 효과
A와 B 사진을 번갈아 가며 보여줬을 때
A 이미지에 따라 B 이미지의 감상이 달라지는 현상
영화에서는 보통 몽타주=영화 편집이라는 의미로 많이 쓰인다
애님 몽타주
• 언리얼에서는 ‘편집된 애니메이션‘ 을 의미
• 애니메이션 시퀀스들을 조합해 사용할 수 있음
• 주로 단발성 애니메이션으로 사용한다 (ex: 총 쏘는 모션, 스킬
모션 )
• 애님 그래프에서는 직접 Play할 수 없음 (뒤에서 다시 한번…)
애님 노티파이
• 애니메이션에서 원하는 타이밍에 이벤트를 발생시키기 위한 기능
걷는 모션에서 땅에 발이 닿을 때, 사운드와 이펙트 재생 등
특정 타이밍에 이벤트 호출이 필요한 경우에 사용
기본 제공 노티파이
이름 호출 노티파이
커스텀 노티파이
• 노티파이 사용시에는 세가지 방식이 있다
애님 노티파이 – 이름으로 호출
커스텀 노티파이
UAnimNotify를 상속받은 블루프린트를 만들거나
네이티브 클래스를 추가해 Notify 함수만 오버라이드하면 된다
노티파이 틱 타입
노티파이의 발생 정확도와 관련된 옵션
• Queued
(동기), 정밀하지 않을 수 있음, 비용 낮음
• Branching Point
(비동기), 비교적 정밀함, 비용 비쌈
애님 노티파이 스테이트
두가지의 차이점을 눈챘치는가?
노티파이 스테이트
• 노티파이 스테이트에는 구간 개념이 존재한다.
함수만 봐도 노티파이는 Notify 하나 딸랑 있는 반면에
노티파이 스테이트는 구간의 시작, 진행, 종료의 동작을
따로 지정할 수 있음
애님 인스턴스
• 애니메이션 창고 혹은 매니저의 개념
애니메이션에 필요한 데이터 셋이나, 함수들을 모아두는 용도로 사용
• 보통 어떤 애니메이션을 재생할지 결정하는 과정에서
인스턴스에서 Owner Pawn의 상태를 가져와 사용하는 형태가 됨
(ex: Owner가 피격 상태라면 공격 애니메이션을 재생하는 식)
*Pawn도 Instance를 가져와 참조할 수 있지만, 지양하는 편이 좋다
예를들어 데디케이트 서버를 사용하는 환경이라면, 서버 입장에서 필요도 없는 애니메이션 로직을 들고있게 되버린다.
애초에 Pawn이 애니메이션 관련 로직을 들고있다는 것 부터 SRP 위반이므로 되도록 ㄴㄴ
• 또한 루트모션의 추출도 여기서 진행됨
애님 인스턴스
보통 애니메이션 로직 구성은 BP를 상속받아 이벤트 그래프를 이용하던가
코드로 구성하고싶다면 네이티브용 가상 함수를 오버라이드 해 이용한다
BP용 함수가 따로 있음
BP 이벤트 그래프 C++
애니메이션 그래프
• 실제 다양한 애니메이션 로직 수행의 결과로 최종 포즈가 결정되는 곳
C++로는 할 수 없고 반드시 BP로만 작업할 수 있음 ( 쉐이더 영역 )
반드시 상위 BP에서만 작업할 수 있고, 하위 BP를 상속받을 경우
상위 BP의 애님 그래프를 그대로 사용하게됨 (그래프 노출 자체가 안된다)
애니메이션 슬롯 / 그룹
애님 그래프에는 그룹과 슬롯 개념이 존재하는데
애님그래프에 특정 애니메이션을 삽입 할 수 있도록 도와주는 기능
사용 일례로 상하체 슬롯을 각각 따로 지정하여 분리할 수 있음
• 그룹과 슬롯은 단순히 애니메이션을 구분하기 위한 용도가 아니다
아까 보았던 몽타주도 재생시에는 최종적으로 슬롯을 통하게 되는데
이때 같은 그룹의 슬롯에 다른 애니메이션이 있으면 중지시키고 몽타주를 재생한다.
말 그대로 ‘슬롯’으로 이해하면 될 듯…
애니메이션 몽타주와 슬롯, 그래프??
• 아까 보았던 애니메이션 몽타주는 애니메이션 그래프에서 사용 불가능하다.
• 애초에 애님 그래프가 아닌 다른 곳(코드, BP등)에서 애니메이션을 실행하는 과정이
단순히 애님 그래프의 Slot으로 몽타주 애니메이션 구조체를 넘겨주는 역할로 보임
추정하자면 애님 그래프가 아닌 곳에서 재생하려는 것들은 Cpu에서 연산하고,
애님 그래프에서는 쉐이더로 연산되기 때문이지 않을까?
그래서 몽타주는 Slot으로 정보를 넘겨주는 형태고,
Slot은 간단하게 봤을 때 쉐이더 함수 인자를 받아주는 창구가 아닐까…
이 부분은 단순 추정이기 때문에, 이후 더 확인해볼 예정입니다 ㅜㅜ
그래서 애님 그래프가 아닌
다른 BP나 코드에서 애니메이션을 재생하는 경우에는
애님 시퀀스도 다이나믹 몽타주를 생성해 Play하는
형태로 되어있음
참고자료
• https://www.slideshare.net/TonyCms/unreal-animation-system
(민수형님 슬라이드)
• https://docs.unrealengine.com/5.0/ko/animating-characters-
and-objects-in-unreal-engine/
언리얼 공식 문서
1 de 22

Recomendados

Unreal animation system por
Unreal animation systemUnreal animation system
Unreal animation systemTonyCms
137 visualizações32 slides
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여 por
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여Dong Chan Shin
455 visualizações40 slides
HCI2010 - 온라인 게임과 넥스트 젠 애니메이션 por
HCI2010 - 온라인 게임과 넥스트 젠 애니메이션HCI2010 - 온라인 게임과 넥스트 젠 애니메이션
HCI2010 - 온라인 게임과 넥스트 젠 애니메이션Jubok Kim
3.3K visualizações122 slides
유니티에서 MMD 사용해보기 por
유니티에서 MMD 사용해보기유니티에서 MMD 사용해보기
유니티에서 MMD 사용해보기flashscope
19.3K visualizações123 slides
[NDC14] 파워포인트로 그래픽 리소스 만들기 por
[NDC14] 파워포인트로 그래픽 리소스 만들기[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기Sun Park
6.1K visualizações16 slides
NDC2012_마비노기 영웅전 카이 포스트모템_시선을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지 por
NDC2012_마비노기 영웅전 카이 포스트모템_시선을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지NDC2012_마비노기 영웅전 카이 포스트모템_시선을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지
NDC2012_마비노기 영웅전 카이 포스트모템_시선을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지영준 박
3.6K visualizações147 slides

Mais conteúdo relacionado

Similar a 언리얼 애니메이션.pptx

About matinee por
About matineeAbout matinee
About matineeTonyCms
71 visualizações30 slides
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤 por
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤명곤 장
3.6K visualizações70 slides
(임시) Career2012 por
(임시) Career2012(임시) Career2012
(임시) Career2012영준 박
807 visualizações111 slides
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례 por
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례SangYun Yi
6.6K visualizações62 slides
[0918 박민수] 범프 매핑 por
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑MoonLightMS
1.1K visualizações40 slides
Cnn project por
Cnn projectCnn project
Cnn projectssuserc610a9
146 visualizações32 slides

Similar a 언리얼 애니메이션.pptx(10)

About matinee por TonyCms
About matineeAbout matinee
About matinee
TonyCms71 visualizações
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤 por 명곤 장
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤
명곤 장3.6K visualizações
(임시) Career2012 por 영준 박
(임시) Career2012(임시) Career2012
(임시) Career2012
영준 박807 visualizações
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례 por SangYun Yi
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
SangYun Yi6.6K visualizações
[0918 박민수] 범프 매핑 por MoonLightMS
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑
MoonLightMS1.1K visualizações
Cnn project por ssuserc610a9
Cnn projectCnn project
Cnn project
ssuserc610a9146 visualizações
[0108 조진현]출발 소프트웨어 렌더러 por 진현 조
[0108 조진현]출발 소프트웨어 렌더러[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러
진현 조1.4K visualizações
2009-2016 기본기(손맵)의 중요성 por Gunho Shin
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성
Gunho Shin18.6K visualizações
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현 por MinGeun Park
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
MinGeun Park46.4K visualizações
최신영화제작기술 Mit por heeruem
최신영화제작기술 Mit최신영화제작기술 Mit
최신영화제작기술 Mit
heeruem4K visualizações

Mais de MUUMUMUMU

Recast Detour.pptx por
Recast Detour.pptxRecast Detour.pptx
Recast Detour.pptxMUUMUMUMU
88 visualizações35 slides
이벤트 드리븐.pptx por
이벤트 드리븐.pptx이벤트 드리븐.pptx
이벤트 드리븐.pptxMUUMUMUMU
5 visualizações17 slides
언리얼 리플렉션 & CDO.pptx por
언리얼 리플렉션 & CDO.pptx언리얼 리플렉션 & CDO.pptx
언리얼 리플렉션 & CDO.pptxMUUMUMUMU
20 visualizações28 slides
DevRookie 메모리 최적화.pptx por
DevRookie 메모리 최적화.pptxDevRookie 메모리 최적화.pptx
DevRookie 메모리 최적화.pptxMUUMUMUMU
12 visualizações19 slides
DevRookie 언리얼 인터렉션 폴리지.pptx por
DevRookie 언리얼 인터렉션 폴리지.pptxDevRookie 언리얼 인터렉션 폴리지.pptx
DevRookie 언리얼 인터렉션 폴리지.pptxMUUMUMUMU
26 visualizações25 slides
DevRookie 언리얼 EQS.pptx por
DevRookie 언리얼 EQS.pptxDevRookie 언리얼 EQS.pptx
DevRookie 언리얼 EQS.pptxMUUMUMUMU
10 visualizações9 slides

Mais de MUUMUMUMU(11)

Recast Detour.pptx por MUUMUMUMU
Recast Detour.pptxRecast Detour.pptx
Recast Detour.pptx
MUUMUMUMU88 visualizações
이벤트 드리븐.pptx por MUUMUMUMU
이벤트 드리븐.pptx이벤트 드리븐.pptx
이벤트 드리븐.pptx
MUUMUMUMU5 visualizações
언리얼 리플렉션 & CDO.pptx por MUUMUMUMU
언리얼 리플렉션 & CDO.pptx언리얼 리플렉션 & CDO.pptx
언리얼 리플렉션 & CDO.pptx
MUUMUMUMU20 visualizações
DevRookie 메모리 최적화.pptx por MUUMUMUMU
DevRookie 메모리 최적화.pptxDevRookie 메모리 최적화.pptx
DevRookie 메모리 최적화.pptx
MUUMUMUMU12 visualizações
DevRookie 언리얼 인터렉션 폴리지.pptx por MUUMUMUMU
DevRookie 언리얼 인터렉션 폴리지.pptxDevRookie 언리얼 인터렉션 폴리지.pptx
DevRookie 언리얼 인터렉션 폴리지.pptx
MUUMUMUMU26 visualizações
DevRookie 언리얼 EQS.pptx por MUUMUMUMU
DevRookie 언리얼 EQS.pptxDevRookie 언리얼 EQS.pptx
DevRookie 언리얼 EQS.pptx
MUUMUMUMU10 visualizações
DevRookie 언리얼 에셋과 패키지.pptx por MUUMUMUMU
DevRookie 언리얼 에셋과 패키지.pptxDevRookie 언리얼 에셋과 패키지.pptx
DevRookie 언리얼 에셋과 패키지.pptx
MUUMUMUMU29 visualizações
DevRookie 언리얼 군중 애니메이션.pptx por MUUMUMUMU
DevRookie 언리얼 군중 애니메이션.pptxDevRookie 언리얼 군중 애니메이션.pptx
DevRookie 언리얼 군중 애니메이션.pptx
MUUMUMUMU21 visualizações
DevRookie 리펙터링.pptx por MUUMUMUMU
DevRookie 리펙터링.pptxDevRookie 리펙터링.pptx
DevRookie 리펙터링.pptx
MUUMUMUMU8 visualizações
DevRookie 플로킹 알고리즘.pptx por MUUMUMUMU
DevRookie 플로킹 알고리즘.pptxDevRookie 플로킹 알고리즘.pptx
DevRookie 플로킹 알고리즘.pptx
MUUMUMUMU19 visualizações
Dev Rookie 파이썬 GUI.pptx por MUUMUMUMU
Dev Rookie 파이썬 GUI.pptxDev Rookie 파이썬 GUI.pptx
Dev Rookie 파이썬 GUI.pptx
MUUMUMUMU22 visualizações

언리얼 애니메이션.pptx

  • 2. 애니메이션 시퀀스와 몽타주의 차이? 몽타주를 사용하지 않는다면 이유는? 애니메이션 노티파이와 노티파이 스테이트의 차이? 애니메이션 인스턴스는 무슨 역할을 하는가? 등등등…
  • 4. 애니메이션 시스템 구성 요소 • 애님 시퀀스 • 애님 몽타주 • 애님 노티파이 • 애님 인스턴스 • 애님 블루프린트 • 애님 이벤트 • 애님 그래프 • 애님 슬롯 / 그룹 • 스테이트 머신 • 블렌드 스페이스 등등등 …
  • 5. 애니메이션 시퀀스 애니메이션 몽타주 애니메이션 에셋
  • 6. 애님 시퀀스 • 애니메이션을 구성하는 가장 기본적인 언리얼 에셋 • 본 구조를 가진 스켈레탈 메시에서 재생 가능 한 단일 애니메이션 (스테틱 메쉬 X) • 키프레임 단위로 본들이 가진 위치 정보
  • 7. 몽타주? 쿨레쇼프 효과 A와 B 사진을 번갈아 가며 보여줬을 때 A 이미지에 따라 B 이미지의 감상이 달라지는 현상 영화에서는 보통 몽타주=영화 편집이라는 의미로 많이 쓰인다
  • 8. 애님 몽타주 • 언리얼에서는 ‘편집된 애니메이션‘ 을 의미 • 애니메이션 시퀀스들을 조합해 사용할 수 있음 • 주로 단발성 애니메이션으로 사용한다 (ex: 총 쏘는 모션, 스킬 모션 ) • 애님 그래프에서는 직접 Play할 수 없음 (뒤에서 다시 한번…)
  • 9. 애님 노티파이 • 애니메이션에서 원하는 타이밍에 이벤트를 발생시키기 위한 기능 걷는 모션에서 땅에 발이 닿을 때, 사운드와 이펙트 재생 등 특정 타이밍에 이벤트 호출이 필요한 경우에 사용
  • 10. 기본 제공 노티파이 이름 호출 노티파이 커스텀 노티파이 • 노티파이 사용시에는 세가지 방식이 있다
  • 11. 애님 노티파이 – 이름으로 호출
  • 12. 커스텀 노티파이 UAnimNotify를 상속받은 블루프린트를 만들거나 네이티브 클래스를 추가해 Notify 함수만 오버라이드하면 된다
  • 13. 노티파이 틱 타입 노티파이의 발생 정확도와 관련된 옵션 • Queued (동기), 정밀하지 않을 수 있음, 비용 낮음 • Branching Point (비동기), 비교적 정밀함, 비용 비쌈
  • 14. 애님 노티파이 스테이트 두가지의 차이점을 눈챘치는가?
  • 15. 노티파이 스테이트 • 노티파이 스테이트에는 구간 개념이 존재한다. 함수만 봐도 노티파이는 Notify 하나 딸랑 있는 반면에 노티파이 스테이트는 구간의 시작, 진행, 종료의 동작을 따로 지정할 수 있음
  • 16. 애님 인스턴스 • 애니메이션 창고 혹은 매니저의 개념 애니메이션에 필요한 데이터 셋이나, 함수들을 모아두는 용도로 사용 • 보통 어떤 애니메이션을 재생할지 결정하는 과정에서 인스턴스에서 Owner Pawn의 상태를 가져와 사용하는 형태가 됨 (ex: Owner가 피격 상태라면 공격 애니메이션을 재생하는 식) *Pawn도 Instance를 가져와 참조할 수 있지만, 지양하는 편이 좋다 예를들어 데디케이트 서버를 사용하는 환경이라면, 서버 입장에서 필요도 없는 애니메이션 로직을 들고있게 되버린다. 애초에 Pawn이 애니메이션 관련 로직을 들고있다는 것 부터 SRP 위반이므로 되도록 ㄴㄴ • 또한 루트모션의 추출도 여기서 진행됨
  • 17. 애님 인스턴스 보통 애니메이션 로직 구성은 BP를 상속받아 이벤트 그래프를 이용하던가 코드로 구성하고싶다면 네이티브용 가상 함수를 오버라이드 해 이용한다 BP용 함수가 따로 있음 BP 이벤트 그래프 C++
  • 18. 애니메이션 그래프 • 실제 다양한 애니메이션 로직 수행의 결과로 최종 포즈가 결정되는 곳 C++로는 할 수 없고 반드시 BP로만 작업할 수 있음 ( 쉐이더 영역 ) 반드시 상위 BP에서만 작업할 수 있고, 하위 BP를 상속받을 경우 상위 BP의 애님 그래프를 그대로 사용하게됨 (그래프 노출 자체가 안된다)
  • 19. 애니메이션 슬롯 / 그룹 애님 그래프에는 그룹과 슬롯 개념이 존재하는데 애님그래프에 특정 애니메이션을 삽입 할 수 있도록 도와주는 기능 사용 일례로 상하체 슬롯을 각각 따로 지정하여 분리할 수 있음
  • 20. • 그룹과 슬롯은 단순히 애니메이션을 구분하기 위한 용도가 아니다 아까 보았던 몽타주도 재생시에는 최종적으로 슬롯을 통하게 되는데 이때 같은 그룹의 슬롯에 다른 애니메이션이 있으면 중지시키고 몽타주를 재생한다. 말 그대로 ‘슬롯’으로 이해하면 될 듯…
  • 21. 애니메이션 몽타주와 슬롯, 그래프?? • 아까 보았던 애니메이션 몽타주는 애니메이션 그래프에서 사용 불가능하다. • 애초에 애님 그래프가 아닌 다른 곳(코드, BP등)에서 애니메이션을 실행하는 과정이 단순히 애님 그래프의 Slot으로 몽타주 애니메이션 구조체를 넘겨주는 역할로 보임 추정하자면 애님 그래프가 아닌 곳에서 재생하려는 것들은 Cpu에서 연산하고, 애님 그래프에서는 쉐이더로 연산되기 때문이지 않을까? 그래서 몽타주는 Slot으로 정보를 넘겨주는 형태고, Slot은 간단하게 봤을 때 쉐이더 함수 인자를 받아주는 창구가 아닐까… 이 부분은 단순 추정이기 때문에, 이후 더 확인해볼 예정입니다 ㅜㅜ 그래서 애님 그래프가 아닌 다른 BP나 코드에서 애니메이션을 재생하는 경우에는 애님 시퀀스도 다이나믹 몽타주를 생성해 Play하는 형태로 되어있음
  • 22. 참고자료 • https://www.slideshare.net/TonyCms/unreal-animation-system (민수형님 슬라이드) • https://docs.unrealengine.com/5.0/ko/animating-characters- and-objects-in-unreal-engine/ 언리얼 공식 문서