SlideShare a Scribd company logo
1 of 29
Download to read offline
캐릭터 애니메이션
쿠재아이
김재경
주제 선정 이유
• 캐릭터 애니메이션 관련 발표가 몇 번 있었음
2020. 6. 20
Foot IK와 파쿠르 시스템 구현하기 - 박민근(알콜코더)
2020. 7. 18
언리얼에서 쓸 수 있는 IK 노드 - 박수찬(ACA)
주제 선정 이유
• 발표는 대충 이해가 가도록
들었으나 1가지 문제가 있었는데
주제 선정 이유
• 내가 캐릭터 애니메이션이 뭔지
모른다는 것
주제 선정 이유
• 그래서 이번 기회에 공부했습니다
발표 순서
• 캐릭터 애니메이션 개념
• Vertex Animation
• Skeleton Animation
• Hierarchy 구조
• Rigging
• Skinning and Vertex Blending
• Key Frame Animation
캐릭터 애니메이션이란?
• 단어는 많이 들어봤는데 무엇을
의미하는지 모르겠음
• 내가 생각한 것을 정리하면 답이
나오지 않을까?
내가 생각한 캐릭터 애니메이션
• 일단 TV 애니메이션과 동일한
의미는 아닌 것 같았다
• 프레임 단위로 그려진 것을
보여주는 건 렌더링이란 단어가
있기 때문
내가 생각한 캐릭터 애니메이션 실행 과정
1. 캐릭터 애니메이션이 저장되어 있는 파일을 로드
2. 캐릭터가 특정한 모션을 취한다
내가 생각한 캐릭터 애니메이션 실행 과정
1. 캐릭터 애니메이션이 저장되어 있는 파일을 로드
2. 캐릭터가 특정한 모션을 취한다
내가 생각한 캐릭터 애니메이션이란?
출처 : KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템, 7p
Vertex Animation
• Morphing Animation으로도
불림
• 정점의 위치를 각 프레임마다
저장하고 있다가 선형보간 또는
그 외의 보간법에 의해서 출력하는
방식
Vertex Animation
장점
• 정점의 크기, 회전, 이동을 한 번만
계산하면 되므로 빠르다
• Skeleton Animation으로
구현하기 어려운 옷감, 얼굴 표정
등에 유용할 수 있다
Vertex Animation
단점
• 데이터 양이 많다
• 하드웨어 가속을 기대하기
힘들다(?)
Skeleton Animation
• 인간의 몸 속에 뼈가 있듯이
뼈대(Bone)를 계층 구조로
만들고 뼈대를 움직인다
Hierarchy 구조
• 메시를 계층 구조
(부모-자식 관계)로 만든다
Hierarchy 구조
부모의 이동이 자식에게 영향을 준다
① : 루트(Root)
② : ①의 자식
③ : ②의 자식
①
②
③
①
②
③
①
② ③
①
②
③
Skeleton Animation
계층 구조가 같으면 다른 모델에도 동일한 애니메이션 적용 가능
Rigging
• 뼈대에 정점을 bind하여
표면을 그리는 것
Rigging
• Bone이 움직이면 Bone에
bind된 정점들도 같이 움직인다
문제점
• 관절 사이에 끊김 현상 발생
Skinning and Vertex Blending
정점에 뼈대별로 가중치를 두어 끊김을 해결
Skinning and Vertex Blending
출처 : 4. 캐릭터 애니메이션, 10p
Key Frame Animation
• 전체 애니메이션 중에서 중요한 몇 개의 프레임에 애니메이션 키 값을
등록하고 나머지 값들을 자동 생성하는 방식
• 여기서 프레임은 애니메이션에서 출력될 장면 한 장 한 장을 가리킨다고
생각하면 된다
Key Frame Animation
이것 말고도 많이 있다
• 모션 캡쳐
• IK(Inverse kinematics)
• 애니메이션 블렌딩
• 기타 등등…
참고
• DirectX 12를 이용한 3D 게임 프로그래밍 입문 (23장 캐릭터 애니메이션)
• 역동적인 애니메이션 IK
• 4. 캐릭터 애니메이션
• GpGiki – 3D
• KGC2010 김주복, 김충효 – M2 프로젝트의 절차적 리깅 시스템
참고
• Animation
• 캐릭터 애니메이션
• 다이렉트 X 9.0 SDK에서 제공하는 Skinned Animation
• CMSC 425: Lecture 11 Skeletal Animation and Skinning
Q / A

More Related Content

More from QooJuice

리플렉션과 가비지 컬렉션
리플렉션과 가비지 컬렉션리플렉션과 가비지 컬렉션
리플렉션과 가비지 컬렉션QooJuice
 
Screen space ambient occlusion
Screen space ambient occlusionScreen space ambient occlusion
Screen space ambient occlusionQooJuice
 
UE4 Garbage Collection
UE4 Garbage CollectionUE4 Garbage Collection
UE4 Garbage CollectionQooJuice
 
Compute shader
Compute shaderCompute shader
Compute shaderQooJuice
 
Game programming patterns 2
Game programming patterns 2Game programming patterns 2
Game programming patterns 2QooJuice
 
Game programming patterns
Game programming patternsGame programming patterns
Game programming patternsQooJuice
 
코루틴(Coroutine)
코루틴(Coroutine)코루틴(Coroutine)
코루틴(Coroutine)QooJuice
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템QooJuice
 
Direct x 12 초기화
Direct x 12 초기화Direct x 12 초기화
Direct x 12 초기화QooJuice
 
노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)QooJuice
 
함수형 프로그래밍
함수형 프로그래밍함수형 프로그래밍
함수형 프로그래밍QooJuice
 
절차지향 vs 객체지향
절차지향 vs 객체지향절차지향 vs 객체지향
절차지향 vs 객체지향QooJuice
 
Segmentation and Paging
Segmentation and PagingSegmentation and Paging
Segmentation and PagingQooJuice
 
Move semantics
Move semanticsMove semantics
Move semanticsQooJuice
 

More from QooJuice (18)

리플렉션과 가비지 컬렉션
리플렉션과 가비지 컬렉션리플렉션과 가비지 컬렉션
리플렉션과 가비지 컬렉션
 
Screen space ambient occlusion
Screen space ambient occlusionScreen space ambient occlusion
Screen space ambient occlusion
 
UE4 Garbage Collection
UE4 Garbage CollectionUE4 Garbage Collection
UE4 Garbage Collection
 
Compute shader
Compute shaderCompute shader
Compute shader
 
Game programming patterns 2
Game programming patterns 2Game programming patterns 2
Game programming patterns 2
 
Game programming patterns
Game programming patternsGame programming patterns
Game programming patterns
 
Picking
PickingPicking
Picking
 
코루틴(Coroutine)
코루틴(Coroutine)코루틴(Coroutine)
코루틴(Coroutine)
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 
Direct x 12 초기화
Direct x 12 초기화Direct x 12 초기화
Direct x 12 초기화
 
행렬
행렬행렬
행렬
 
벡터
벡터벡터
벡터
 
노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)
 
함수형 프로그래밍
함수형 프로그래밍함수형 프로그래밍
함수형 프로그래밍
 
부팅
부팅부팅
부팅
 
절차지향 vs 객체지향
절차지향 vs 객체지향절차지향 vs 객체지향
절차지향 vs 객체지향
 
Segmentation and Paging
Segmentation and PagingSegmentation and Paging
Segmentation and Paging
 
Move semantics
Move semanticsMove semantics
Move semantics
 

캐릭터 애니메이션