일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ColorGradingLutPass
- Toon Shader
- C언어
- 벡터
- 3d
- Cartoon Rendering
- Cell Look
- 개인 바이트
- AppSW
- URP로 변경
- ASW(Application SpaceWarp)
- OculusMotionVectorPass
- Cell Shader
- 메모리 누수
- URP
- VR
- Virtual Byte
- Private Bytes
- 프로그래밍 기초
- 작업 집합
- working set
- Rim Light
- 가상 바이트
- Windows Build
- 게임 수학
- Three(Two) Tone Shading
- Specular
- Today
- Total
WinCNT
3D 애니메이션(Blender) - 본의 생성과 리깅 본문
3D 애니메이션이란?
3D 그래픽 공간 내에서 만들어지는 모든 움직임 또는 그 움직임을 만들어 내는 작업
셀 애니메이션와는 제작 방식의 원리가 다르다
3D 애니메이션 작업 순서
본(Born) 세팅 작업
캐릭터의 수 만개의 Vertex를 일일이 애니메이션을 적용할 수는 없다
하지만 하나의 애니메이션을 적용할 대표를 정해서
나머지 버텍스는 그 대표를 따라서 움직이도록 해서 해결할 수 있다
그 대표를 설정하는 작업을 본(Born) 세팅 작업이라고 한다
Vertex 작업
Vertex를 해당 뼈대에 속하게 하고 그 속한 뼈대를 움직여서 애니메이션 구현한다
관절 등을 부드럽게 애니메이션을 하기 위해서는
관절에 해당하는 버텍스에게는 뼈대들에 대한 가중치를 조절해줘야 한다
애니메이션 작업
본 세팅과 버텍스 작업이 끝나면 애니메이션 작업을 하면 된다
블렌더에서 본을 생성해보자!
Add에서 Amature를 생성한다
애니메이션 작업을 하기 위한 뼈대가 만들어 진다
기본적으로 계층 구조를 띄고 있으며
위쪽이 상위 계층, 아래쪽이 하위 계층을 나타낸다
오브젝트 모드에서는 본 오브젝트의 이동, 추가 등을 할 수 있다
에디터 모드에서는 본 자체를 수정할 수 있다
포즈 모드에서 애니메이션의 포즈를 정할 수 있다
본의 헤드를 누르고 E를 누르면 하위 계층의 본을 생성할 수 있다
E를 누르면 ESC나 마우스 오른쪽 버튼을 눌러도
본은 생성된(겹쳐 있는) 상태이니 주의하도록 하자
본을 클릭하고 Parent을 누르면 계층 관계를 설정 가능
Clear를 누르면 Clear와 Disconnect 선택할 수 있다
Clear는 완전히 계층 관계가 사라지며,
Disconnect는 Edit Mode에서는 영향을 받지 않고
Pose Mode에서만 영향을 받는 관계로 만들 수 있다
Clear한 계층 구조를 다시 생성하기 위해서는
다시 생성할 본들을 모두 선택하고
Make --> Connected(완전히 영향)를 선택하거나
Make --> Keep Offset(부분적 영향)를 선택하면 된다
(먼저 선택한 것이 하위 계층이 됨)
위의 이미지 중 왼쪽의 경우,
더욱 자연스러운 애니메이션이 가능하지만 연산 비용이 커진다
그래서 리얼 캐릭터 모델링의 게임 등에 자주 쓰이는 구조이다
오른쪽의 경우,
본이 하나 없으므로 연산 비용이 작아지지만 애니메이션에 제한이 생긴다
주로 캐주얼 캐릭터 모델링의 게임에 쓰이는 구조이다
본을 선택하고 Subdivied를 선택하면 본이 2개로 쪼개진다
(전체 길이는 유지됨)
역운동학(Inverse Kinematics)
일반적인 Kinematics는 상위 --> 하위 본으로 움직이는 애니메이션을 만들었다
Inverse Kinematics는 그 반대로
하위 --> 상위 본이 움직이는 애니메이션을 뜻한다
자주 쓰이는 곳은 걷기 애니메이션
일반적인 운동학에서는 골반 --> 위쪽 다리 --> 아래 다리 --> 발의 순으로 애니메이션을 잡아야 되지만
역운동학에서는 발의 애니메이션만 바꾸면, 아래 다리 --> 위쪽 다리가 자동으로 움직인다
종아리에 IK를 설정하고 Helper를 움직이면 상위 계층인 허벅지가 자동으로 움직인다
본의 Mirror 설정
미러를 적용할 본을 선택하고 복사를 한다(Flip Names를 체크할 것)
그 다음은 Armature의 Mirror에서 설정해준다
다른 방법으로는 본 전체를 선택하고 Symmetrize를 선택하면 된다
리깅
오브젝트 모드에서 모델링을 먼저 클릭하고 본을 나중에 클릭한다
그 다음 마우스 오른쪽 버튼을 클릭해서 Parent --> With Automatic Weights를 선택하면
어느 정도 자동으로 리깅 작업을 해준다
블렌더는 버텍스에게 보통 근접한 본의 Weight를 1에 가까운 값을 주며
관절 부위의 버텍스는 관련된 본에게 Weight 값을 나눠서 준다
(세세한 조정은 Weight Mode에서 할 수 있다)
Weight Mode
Parent --> With Automatic Weights을 하면 블렌더가 어느 정도 Weight 값을 지정해주지만
수동으로 조정하고 싶을 때는 Weight Mode를 이용하면 된다
버텍스 그룹에서 본을 선택하면 해당 본에 할당된 버텍스의
Weight의 값을 시각적으로 알 수 있다
만약 본의 Mirror 작업을 Symmetry로 했을 경우,
다음과 같이 Mirror Vertex Group을 체크해주면 반대쪽에도 같은 Weight 값이 지정된다
SSS
'게임 프로그래밍(학습 내용 정리) > 디지털 모델링' 카테고리의 다른 글
3D Texture란? (0) | 2022.04.06 |
---|---|
3D 애니메이션 - 키 프레임 설정 (0) | 2022.03.30 |
디지털 모델링(Blender) - 에디터 모드 (0) | 2021.11.03 |
디지털 모델링 - 오브젝트 모드 (0) | 2021.10.13 |
디지털 모델링 - 인터페이스 살펴보기 (0) | 2021.10.13 |