Recommended
PPTX
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
PDF
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
PPTX
아티스트에게 사랑받는 3DS Max 우버쉐이더
PDF
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
PDF
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
PDF
【Unity道場】VectorGraphicsで作る エモい表現
PPTX
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
PDF
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
PPTX
PDF
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
PPTX
The Rendering Pipeline - Challenges & Next Steps
PPTX
PDF
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
PPTX
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
PPTX
PDF
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
PDF
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
PDF
PDF
코드 생성을 사용해 개발 속도 높이기 NDC2011
PPTX
PDF
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
PPTX
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
PDF
PDF
Hair animation by vertex shader
PDF
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
PDF
PDF
PDF
PDF
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
PDF
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
More Related Content
PPTX
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
PDF
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
PPTX
아티스트에게 사랑받는 3DS Max 우버쉐이더
PDF
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
PDF
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
PDF
【Unity道場】VectorGraphicsで作る エモい表現
PPTX
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
PDF
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
What's hot
PPTX
PDF
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
PPTX
The Rendering Pipeline - Challenges & Next Steps
PPTX
PDF
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
PPTX
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
PPTX
PDF
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
PDF
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
PDF
PDF
코드 생성을 사용해 개발 속도 높이기 NDC2011
PPTX
PDF
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
PPTX
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
PDF
PDF
Hair animation by vertex shader
PDF
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
PDF
PDF
PDF
Similar to 문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
PDF
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
PDF
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
PPTX
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계
PDF
PPTX
PPTX
PPTX
NDC2012_마비노기 영웅전 카이 포스트모템_시선을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지
PPTX
PDF
[IGC2018] 오토데스크 홍상범 - 아티스트를 위한 Visual Scripting - MCG in 3dsMax, Blueprint in...
PPTX
Open jig-ware 6회-오로카세미나pptx
PDF
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
PDF
Aug 22nd, 2023: Case Studies - The Art and Science of Animation Production)
PDF
PPTX
PPTX
PDF
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010
PDF
PPTX
PDF
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
PPTX
[데브루키]노대영_프린이를 위하여(프로그래밍 어린이)
More from devCAT Studio, NEXON
PPTX
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
PPTX
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
PDF
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
PDF
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
PPTX
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
PDF
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
PDF
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
PDF
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
PDF
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
PDF
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
PDF
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
PDF
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
PDF
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
PDF
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
PDF
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
PDF
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
PDF
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
PDF
백승엽, M2프로젝트의 오류보고시스템, NDC2010
PDF
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
PDF
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018 1. 2. 발표자 소개
□ 프로젝트 경험
■ 마비노기 듀얼
■ 프로젝트 DH
□ 관심분야
■ 컴퓨터 그래픽스, 물리기반 모델링 & 시뮬레이션
3. 목차
□ 프로젝트 DH
□ 절차적 애니메이션
1. 절차적 애니메이션이란?
2. 실버바인(Silvervine) 모션 엔진
□ 새로운 기능들
1. 지면의 경사 적용
2. 물리적 반응 모션
3. 애니메이션 전환
□ Q&A
4. 10. 11. 일반적 의미
□ 논리적으로 실시간 생성되는 애니메이션
■ Ex) IK, Dynamics
■ 파티클, 의상, 헤어, 캐릭터 애니메이션 분야
12. 13. 개발 과정
□ 입력에 대한 결과를 정의
■ 입력: 첫 번째 톱니의 회전각
■ 결과: n 번째 톱니의 회전각
14. 개발 과정
□ 입력에 대한 결과를 정의
■ 입력: 첫 번째 톱니의 회전각
■ 결과: n 번째 톱니의 회전각
□ 규칙과 순서를 정의
15. 개발 과정
□ 입력에 대한 결과를 정의
■ 입력: 첫 번째 톱니의 회전각
■ 결과: n 번째 톱니의 회전각
□ 규칙과 순서를 정의
■ k 번째 톱니의 회전각
▪ k-1 번째 톱니의 회전각, 반지름
■ 1부터 n번째 톱니까지 순차적 계산
16. 17. 18. 특징 및 장점
□ 입력에 따른 다양한 결과 생성
□ 모션의 추가/삭제, 수정 용이
□ 자연스럽고 다양한 상호 작용
□ 애니메이션 제작 비용 절약
■ 비슷한 종류의 애니메이션 최소화
▪ Ex) 구조가 서로 다른 n 개의 캐릭터 걷는 애니메이션: n x [전진, 후진, 회전, 게걸음] x [평지, 오르막, 내리막]
19. 20. 적용 사례
□ Last Guardian
■ 원본 애니메이션을 상황에 맞게 수정하는 방법으로 자연스러운 애니메이션 연출
21. 적용 사례
□ For Honor
■ 모션매칭: 방대한 모션 데이터베이스에서 상황에 적합한 애니메이션을 선택
22. 23. 실버바인 모션 엔진
□ 완전히 절차적인(fully-procedural) 애니메이션 시스템 개발 시도
■ 오로지 코드로만 애니메이션을 생성
■ 애니메이션 품질이 프로그래머 역량에 깊게 의존
■ 생성된 모션이 불안정함
24. 실버바인 모션 엔진
□ 준 절차적(semi-procedural) 애니메이션 시스템
■ Automated Semi-Procedural Animation for Character Locomotion 논문 기반
■ 샘플 애니메이션 분석을 통한 로코모션의 실시간 생성
■ 게걸음, 후진, 회전, 속도 변화 …
25. 작년 발표 리뷰
□ 로코모션을 중점적으로 개발 진행
■ 게이머가 실제로 가장 많이 보게 될 부분
■ 모션엔진의 필수 기능
■ 개발 난이도 ↑
26. 27. 28. 작년 발표 리뷰
□ 모션 분석 데이터의 기본 요소
■ 본(뼈대)
■ 스파인(척추)
■ 림(팔다리)
29. 작년 발표 리뷰
□ NDC Replay
■ http://ndcreplay.nexon.com/NDC2017/sessions/NDC2017_0026.html
30. 31. 32. 33. 필요성
□ 기존의 모션엔진은 경사가 없는 평지만을 가정
■ 경사를 고려한 절차적 처리 없음
■ 샘플 애니메이션은 모두 평지 전용
□ 4족 이상의 캐릭터 등장
■ 인간과 같은 2족 구조에 비해 복잡함
■ 특별하고 일반화된 방법 필요
34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 접근 방법 정리
□ 척추를 세그먼트 단위로 병합
□ 루트 세그먼트에 경사 적용
□ 다음 세그먼트에 경사 적용
■ 양 끝에 핀이 존재하는 세그먼트만 해당
□ 마지막 세그먼트까지 반복
48. 세그먼트 경사 적용 방법
□ 경사 측정
□ 세그먼트 회전
□ 기준 높이를 적용
■ Ex) 다리 길이
□ 반복
49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 서스펜션
□ 완충장치
■ 요철이 심한 지형에서 급격한 포즈 변형을 완화
□ 선형, 각 스프링 설치
■ Hooke의 법칙: F= − 𝑘(X − X0) − 𝑐V
60. 서스펜션
□ 완충장치
■ 요철이 심한 지형에서 급격한 포즈 변형을 완화
□ 선형, 각 스프링 설치
■ Hooke의 법칙:
■ 필요한 힘과 토크를 계산
F= − 𝑘(X − X0) − 𝑐V
61. 62. 63. 64. 65. 의의
□ 평지 전용 애니메이션 이용
□ 복잡한 지형에서의 애니메이션을 절차적으로 생성
□ 4족 이상의 캐릭터에 모두 사용가능
66. 향후 계획
□ 경사 적용의 정확도 향상
□ 급격한 경사 변화에 대한 반응
■ 절벽 근방에서 어색한 포즈
■ 계단 형태의 지형에서의 진동
□ 수직 이상의 기울기 지형
■ 절벽의 벽면, 동굴 천장
67. 68. 목적
□ 물리 시뮬레이션을 통한 척추의 물리적 반응을 생성
■ 관성에 따른 척추의 움직임
■ 피격 반응
■ 단, 원본 애니메이션을 최대한 존중
69. 70. 71. 72. 73. 접근 방법
□ 운동학 기반의 모션엔진
■ 매 프레임 애니메이션에 의해 포즈가 결정
□ 동역학 영역의 물리 시뮬레이션
■ 운동의 원인(힘)이 필연적
74. 접근 방법
□ 운동학 기반의 모션엔진
■ 매 프레임 애니메이션에 의해 포즈가 결정
□ 동역학 영역의 물리 시뮬레이션
■ 운동의 원인(힘)이 필연적
□ 서로 상반된 성질
■ 애니메이션을 유지하면서 척추를 물리적으로 시뮬레이션
75. 접근 방법
□ 운동학 기반의 모션엔진
■ 매 프레임 애니메이션에 의해 포즈가 결정
□ 동역학 영역의 물리 시뮬레이션
■ 운동의 원인(힘)이 필연적
□ 서로 상반된 성질
■ 애니메이션을 유지하면서 척추를 물리적으로 시뮬레이션
76. 접근 방법
□ 동역학 기반의 모션엔진
■ 척추의 물리적 시뮬레이션
■ 애니메이션 포즈를 제약조건으로 사용
77. 접근 방법
□ 동역학 기반의 모션엔진
■ 척추의 물리적 시뮬레이션
■ 애니메이션 포즈를 제약조건으로 사용
□ 문제점
■ 포즈가 의도한 대로 나오지 않을 가능성 존재
■ 리팩토링 비용 ↑
78. 접근 방법
□ 독립적인 물리 시뮬레이션
■ 척추에 해당하는 구조(체인)를 물리적으로 시뮬레이션
■ 물리 시뮬레이션 결과를 척추에 적용
■ 애니메이션 포즈를 유지하기 위한 복원력
79. 80. 81. 체인의 구조
□ 강체가 선형 및 각 제약조건으로 연결된 구조
□ 강체는 각각의 척추에 대응
체인 물리 시뮬레이션
82. 체인의 구조
□ 강체가 선형 및 각 제약조건으로 연결된 구조
□ 강체는 각각의 척추에 대응
□ 척추와 동일한 계층 구조를 적용
체인 물리 시뮬레이션
83. 체인의 구조
□ 강체가 선형 및 각 제약조건으로 연결된 구조
□ 강체는 각각의 척추에 대응
□ 척추와 동일한 계층 구조를 적용
□ 체인의 한쪽 끝은 척추의 회전 중심에 고정
체인 물리 시뮬레이션
84. 85. 86. 87. 88. 안정성 향상
□ Sub stepping
■ Delta time을 n sub step으로 분할
■ 성능과 안정성을 트레이드오프
■ 단순히 iteration수를 높이는 것 보다 효과적
체인 물리 시뮬레이션
89. 월드 스페이스 시뮬레이션
□ 목적
■ 월드 좌표계에서 시뮬레이션 되는 것처럼 속임
■ 체인의 시뮬레이션 영역은 컴포넌트 좌표계
체인 물리 시뮬레이션
90. 91. 92. 93. 94. 95. 월드 스페이스 시뮬레이션
□ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용
□ 물리 시뮬레이션
□ 체인 전체에 역 델타 트랜스폼 적용
체인 물리 시뮬레이션
96. 월드 스페이스 시뮬레이션
□ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용
□ 물리 시뮬레이션
□ 체인 전체에 역 델타 트랜스폼 적용
체인 물리 시뮬레이션
∆p−1
97. 98. 99. 시뮬레이션 결과 적용방법
□ 강체의 로컬 트랜스폼 변화량을 척추에 적용
■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변)
■ 초기 로컬 트랜스폼:
■ 변형 후 로컬 트랜스폼: R 𝑡 = C 𝑡P𝑡
−1
R0 = C0P0
−1
100. 시뮬레이션 결과 적용방법
□ 강체의 로컬 트랜스폼 변화량을 척추에 적용
■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변)
■ 초기 로컬 트랜스폼:
■ 변형 후 로컬 트랜스폼:
■ 로컬 트랜스폼 변화량: ∆R = R0
−1
R 𝑡
R 𝑡 = C 𝑡P𝑡
−1
R0 = C0P0
−1
101. ∆R = P0C0
−1
C 𝑡P𝑡
−1
시뮬레이션 결과 적용방법
□ 강체의 로컬 트랜스폼 변화량을 척추에 적용
■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변)
■ 초기 로컬 트랜스폼:
■ 변형 후 로컬 트랜스폼:
■ 로컬 트랜스폼 변화량: ∆R = R0
−1
R 𝑡
R 𝑡 = C 𝑡P𝑡
−1
R0 = C0P0
−1
102. 103. 복원력
□ 체인이 초기 상태로 복귀하려는 힘
■ 초기상태:
■ 원본 애니메이션 포즈로 복귀
∆R = R0
−1
R 𝑡 = I
104. 복원력
□ 체인이 초기 상태로 복귀하려는 힘
■ 초기상태:
■ 원본 애니메이션 포즈로 복귀
□ 체인이 나열된 방향으로 외력을 적용
∆R = R0
−1
R 𝑡 = I
105. 복원력
□ 체인이 초기 상태로 복귀하려는 힘
■ 초기상태:
■ 원본 애니메이션 포즈로 복귀
□ 체인이 나열된 방향으로 외력을 적용
■ 물리적으로 올바른 방법은 아님
■ 효과는 충분!
∆R = R0
−1
R 𝑡 = I
106. 107. 108. 109. 의의
□ 운동학 기반의 애니메이션에 물리 반응 적용
□ 간단하고 효과적인 방법
□ 원본 애니메이션은 최대한 유지
110. 향후 계획
□ 물리 시뮬레이션 안정성 확보
■ PBD (Position Based Dynamics)
□ 물리적으로 올바른 복원력 적용
111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 포즈 블렌딩
□ 소스 포즈의 스냅샷
□ 타겟 포즈는 시간에 따라 변화
□ 두 포즈의 로컬 트랜스폼을 선형 보간
𝑡 𝑡 + 𝑡 𝑏𝑙𝑒𝑛𝑑
Source
Target
121. 포즈 블렌딩
□ 소스 포즈의 스냅샷
□ 타겟 포즈는 시간에 따라 변화
□ 두 포즈의 로컬 트랜스폼을 선형 보간
Source
Target
𝑡 𝑡 + 𝑡 𝑏𝑙𝑒𝑛𝑑
발 위치 제어의 편의성 증가!
퍼포먼스 이득!
122. 발 위치 제어 방법
□ 스냅샷과 타겟 포즈의 발 위치에 따른 처리
123. 발 위치 제어 방법
□ 스냅샷과 타겟 포즈의 발 위치에 따른 처리
■ 스냅샷 또는 타겟 포즈의 발이 공중에 있을 경우 위치 보간
■ 스냅샷과 타겟 포즈의 발이 모두 지면위에 있을 경우 스텝 추가
124. 발 위치 제어 방법
□ 스냅샷과 타겟 포즈의 발 위치에 따른 처리
타겟 포즈 발 위치
지면 공중
스냅샷 포즈
발 위치
지면 스텝 추가 보간
공중 보간 보간
125. 발 위치 제어 방법
□ 스냅샷과 타겟 포즈의 발 위치에 따른 처리
□ 스텝 추가
■ 보간 시 발 미끄러짐 발생
■ 시간에 따른 sin 값을 발 높이에 더함
타겟 포즈 발 위치
지면 공중
스냅샷 포즈
발 위치
지면 스텝 추가 보간
공중 보간 보간
126. 발 위치 제어 순서
□ 공중에 떠있는 발 우선
■ 스텝 추가로 인해 공중 동시 체류를 최대한 방지
127. 발 위치 제어 순서
□ 공중에 떠있는 발 우선
■ 스텝 추가로 인해 공중 동시 체류를 최대한 방지
□ 타겟 위치로부터 가장 멀리 떨어진 발
■ 무게중심에서 가장 벗어남을 의미
128. 발 위치 제어 순서
□ 공중에 떠있는 발 우선
■ 스텝 추가로 인해 공중 동시 체류를 최대한 방지
□ 타겟 위치로부터 가장 멀리 떨어진 발
■ 무게중심에서 가장 벗어남을 의미
□ 랜덤
129. 130. 131. 향후 계획
□ 포즈 블렌딩 개선
■ Inertialization: High-Performance Animation Transitions in Gears of War, GDC
2018
▪ 스냅샷 포즈와 타겟 포즈를 블렌딩
▪ 스냅샷 포즈의 관성을 타겟 포즈에 적용
132. 마치며...
□ 모션엔진의 새로운 기능들 소개
■ 지면의 경사 적용: 다양한 지형과 캐릭터에 적응적인 모션 생성
■ 물리적 반응 모션: 척추의 움직임에 자연스러움 추가
■ 애니메이션 전환: 포즈 블렌딩, 발 위치 제어를 통한 자연스러운 애니메이션 전환
133. 마치며...
□ 모션엔진의 새로운 기능들 소개
■ 지면의 경사 적용: 다양한 지형과 캐릭터에 적응적인 모션 생성
■ 물리적 반응 모션: 척추의 움직임에 자연스러움 추가
■ 애니메이션 전환: 포즈 블렌딩, 발 위치 제어를 통한 자연스러운 애니메이션 전환
□ 발전 가능성과 개선의 여지가 많음
134. 마치며...
□ 모션엔진의 새로운 기능들 소개
■ 지면의 경사 적용: 다양한 지형과 캐릭터에 적응적인 모션 생성
■ 물리적 반응 모션: 척추의 움직임에 자연스러움 추가
■ 애니메이션 전환: 포즈 블렌딩, 발 위치 제어를 통한 자연스러운 애니메이션 전환
□ 발전 가능성과 개선의 여지가 많음
□ 효율적이고 실용적인 절차적 애니메이션 시스템!
135. 136.