본문 바로가기
-- 비엘북스의 책 --/. 캐릭터 셋업 테크닉

캐릭터 셋업 테크닉

by vielbooks 2019. 5. 29.

 

 

 

다운로드 페이지로 이동합니다.

 

 

책소개

3ds Max의 IK, Bone, Controller 등을 이용한 캐릭터 셋업 전문서

이 책은 3ds Max를 사용해서 게임용 캐릭터를 셋업하는 방법에 대해서 다루는 책이다. 특히 바이패드와 함께 Bone과 Controller를 제어하며 3D 캐릭터를 셋업하는 과정이 이 책의 핵심이며 이를 위해 오랜 실무를 경험해 온 저자의 고급 노하우들이 공개된다. 책 내용의 대부분이 게임 개발을 중심으로 설명이 되겠지만, 3ds Max 툴(IK, Bone, Controller 등)을 공부하기 위한 목적으로도 좋은 참고서가 될 것이다.

이 책은 캐릭터 셋업을 위해 반드시 알아두어야 할 기본 개념들, 즉 3D 좌표계의 이해부터 IK, Bone, 각종 Controller와 Max Script 등에 대한 개념과 원리를 차근차근 설명하고, ‘실전 예제’ 편의 중/고급 예제를 통해서 실전에서 활용해본다. 단순히 따라하기 형식의 묻지마 튜토리얼이 아닌 실제 개념과 원리를 깨우칠 수 있도록 총 230여개의 3ds Max 파일과 70여개의 동영상 예제가 제공된다. 특히 저자의 목소리를 직접 듣고 배우는 35개의 실전 동영상 강좌들은 이 책의 독자들에게 단비와 같은 콘텐츠가 될 것이다.

이 책에는 본문의 예제로 사용된 남(랜디)/여(비키)캐릭터의 리깅 파일이 수록되어 있다. 특히 남성 캐릭터(랜디) 파일을 보면서 실제 3D캐릭터에 어떠한 방식으로 셋업 & 활용되는지 확인할 수 있게 된다. 이 책에서 제공하는 최고의 선물이다. 이 책은 20여 년간 게임 개발에 참여하며 경험해왔던 캐릭터 셋업 분야에 대한 저자의 노하우를 아낌없이 담았다. 본문에 수록된 각종 예제와 동영상 강좌를 보면 저자의 탄탄한 실력과 친절한 노하우 공개에 감탄해 할 것이다.

 

 

목차

Part 01 | 개념을 잡자
Chapter 01 | 좌표계(Coordinate System)
1. 로컬 좌표와 월드 좌표
2. 로컬 트랜스폼을 °¬제로 고정하기
3. 부모(Parent)의 회전
4. 반드시 알아야 하는 개념
5. 트랜스폼 적용하기
6. 응용하기

Chapter 02 | 본(Bone)
1. 본(Bone)의 생성
2. 본 툴(Bone Tools)
3. 처음해보는 Max Script 
4. Bone Tools의 사용
5. 본(Bone)이 갑자기 움직이지 않는다면
6. Link Display
7. 본(Bone)의 겉모습은 중요하지 않다

Chapter 03 | 오일러와 쿼터니언
1. 오일러(Euler)와 짐벌락(Gimbal-Lock)
2. 쿼터니언
3. Script Controller로 살펴 본 쿼터니언(Quaternion)
4. 오일러와 쿼터니언의 비교
4-1. 360도 회전
4-2. 짐벌락
4-3. 커브(Curve) 컨트롤
4-4. Max Script

Chapter 04 | Hierachy
1. 기본 개념

2. Pivot
2-1. Adjust Pivot 롤아웃
2-2. Working Pivot 롤아웃
2-3. Adjust Transform 롤아웃
2-4. Skin Pose 롤아웃

3. Link Info
3-1. Locks 롤아웃
3-2. Inherit 롤아웃

4. Inherit와 Reset Scale
4-1. Inherit 
4-2. Reset scale
4-3. Reset Stretch

5. IK(Inverse Kinemetrics)
5-1. IK 분류
5-2. CAT(Character Animation Tools)과 바이패드(Biped)
5-3. Puppet Shop
5-4. 바이패드 IK 사용하기
?좌표계(Coordinate system) - Body & Object
?Blend 적용하기
?Blend와 커브 편집 
5-5. 본(Bone)의 IK 사용하기
?Hisolver 예제
?Interactive IK 예제
?Interactive IK와 일반 IK의 차이
?IK 버튼의 기능 
5-6. 바이패드(Biped)를 사용할지 본(Bone)을 사용할지

Chapter 05 | Controller
1. Controller 이해하기
1. Controller 예제
2. Controller에 접근하기
3. Controller의 분류와 구조
4. Controller와 Constraint
5. 적용된 Controller의 종류 살펴보기

2. Controller 속성 변경
2-1. 절차적인 (Procedural) Controller 속성 변경
2-2. 키프레임(Keyframe)을 사용하는 Controller 속성 변경
?커브 에디터에서¬ 키 정보를 살펴보기
?Motion 판넬에서¬ 키 정보를 살펴보기
?트랙 바(Track bar)에서¬ 키 정보를 살펴보기
2-3. 아무런 속성도 표시되지 않는 Controller

3. Controller 지정하기
3-1. 트랙뷰에서¬ 지정하기
3-2. Motion 판넬에서¬ 지정하기
3-3. Animation 메뉴에서¬ 지정하기
3-4. Controller 복사하고 붙이기
3-5. 바이패드 모양 바꾸기

4. Default Controller 설정
5. 일반적인 목적의 Controller
5-1. Bezier Controller
?Normalize Time
?Constant Velocity
?Free handle
5-2. TCB Controllers 
5-3. Linear Controller 
5-4. Noise Controller
?Animation Range 
?Seed
5-5. XYZ Controller 
?Position XYZ 
?Euler XYZ 
?애니메이션 키 분리하기
5-6. Audio Controller

6. 특수한 목적의 Controller
6-1. List Controller
?List Controller 적용하기
?섞이는 순서¬
?세부 조절
?Pose to Pose
?Zero Transform
6-2. Parameter Wiring
?Parameter Wire 란
?기본 활용 예제
?다양한 접근 방법
?연결되는 값은 로컬인가 월드인가 
?Script 활용
6-3. Reaction Controllers
?Reaction Controller 란
?간단한 예제
?우산 예제
?엉덩이 관절
?세부 기능
6-4. Motion Capture Controller
?Motion Capture Controller의 역할
?적용 순¼¬
?어떤 경우에 사용하는가

7. 트랜스폼 제어(Controlling Transforms)
1. Link Constraint
2. Position / Rotation / Scale Controller
3. Transform Script Controller
4. XRef Controller

8. Animation Constraints(애니메이션 컨스트레인트)
8-1. LookAt Constraint
?Add LookAt Target
?Delete LookAt Target
?Weight
?Keep Initial Offset
?Viewline Length, Viewline Length Absolute
?Set Orientation
?Reset Orientation
?Select LookAt Axis
?Select Upnode
?Upnode Control
?Source/Upnode Alignment
8-2. Orientation Constraint
?Add Orientation Target
?Add World as Target
?Delete Orientation Target
?Weight
?Keep Initial Offset
?Transform Rule
8-3. Path Constraint
?Add Path, Delete Path, Weight
?% Along Path
?Follow, Bank 
?Bank Amount 
?Smoothness
?Allow Upside Down 
?Constant Velocity 
?Loop 
?Relative 
?Axis, Flip 
8-4. Position Constraint
?Add position target
?Delete position target
?Weight
?Keep Initial Offset 
8-5. Attachment Constraint
?작업 방법
?Attach To 그룹
?Update group
?Key Info group
?TCB group
8-6. Surface Constraint
?적용하기
?Surface Options 그룹  

9. 기타 Controller
9-1. Limit Controller(리미트 컨트롤러)
?Limit Controller란
?Limit Controller의 제약사항
?Limit Controller의 적용
?기능 설명
?우클릭 메뉴
9-2. Spring Controller
?간단한 예제
?여러 개의 고무줄
?기능 설명
?Spring Controller의 단점과 보완 

9-3. Waveform Controller
9-4. Look At Controller
9-5. Smooth Rotation Controller
9-6. On/Off Controller, Boolean Controller
9-7. Layer Controller
?개요
?간단한 예제
?기능 설명
?Facial Rigging(페이셜 리깅)에 응용하기
?Layer Controller 사용 시 주의할 점  


Special Section_01 | Expression
Chapter 01 | Expression 이란
1. Expression Controller
2. Script Controller와의 비교

Chapter 02 | 변수와 상수 사용하기
1. 예약 변수
2. 예약 상수
3. 스칼라(Scalar) 변수와 벡터(Vector) 변수
4. Tick Offset

Chapter 03 | 연산자
1. 스칼라(Scalar) 산술 연산자
2. 스칼라(Scalar) 관계 연산자와 논리 연산자
3. 벡터(Vector) 컴포넌트 연산자
4. 벡터(Vector) 산술 연산자
5. 연산의 우선 순위
6. 벡터의 내적과 외적 

Chapter 04 | 함수 사용하기
1. 함수의 개념 
2. 삼각 함수 
3. 지수 함수, 로그, 자연 로그 
4. 라디안과 각도 변환 함수 
5. 소수점 올림과 버림 함수 
6. 일반적인 함수 
7. 조건 함수 
8. 벡터 함수 
9. 변수의 좌표계
10. Expression Controller의 다양한 적용 


Special Section_02 | Max Script & Script Controller

Chapter 01 | Script Listener
1. Macro Recorder
2. 간단한 Script 구문을 실행하고 리턴 값을 모니터링
3. 디버깅
4. Max Script 디버거

Chapter 02 | as
Chapter 03 | 소스 코드 레이아웃과 주석
Chapter 04 | Macro Script(매크로 스크립트) 
1. Macro Script의 빠른 생성
2. Macro Script의 버튼 변경
3. Script 레퍼런스 문¼¬ 어떻게 읽는가
4. Macro Script의 수동 생성
5. Macro Script의 문법 설명
6. 키보드 단축키, 툴 바, 쿼드 메뉴, 일반 메뉴에 등록하기
7. 나만의 아이콘 추가

Chapter 05 | 예약어
Chapter 06 | 변수
1. 변수란
2. 이름
3. 변수의 종류
3-1. 일반 변수
3-2. 배열 변수

Chapter 07 | 구조체(Structure)
Chapter 08 | 기준 좌표계와 Max Script
Chapter 09 | 데이터 형(Data type) 
1. 숫자(Number Values)
2. 문자열¬ (String Values)
3. Point3, Point2 Values
4. Matrix3 Values
5. 쿼터니언(Quat Values)과 오일러(EulerAngles Values)
5-1. Script로 오브젝트의 회전 값에 접근하기
5-2. 오일러 회전 값의 누적과 Controller 접근
5-3. 쿼터니언 연산과 slerp(Spherical Linear Interpolation) 함수

Chapter 10 | 컬렉션(Collections)
1. NodeChildrenArray
2. ObjectSet
3. Pathname

Chapter 11 | Script의 흐름 제어
1. If
2. For

Chapter 12 | 함수(Function) 429
1. 예제로 살펴보는 함수 만들기
2. 리턴(Return)
3. 파라미터(parameter) 없이 함수 실행하기
4. 함수의 문법과 파라미터(Parameter) 

Chapter 13 | 변수의 스코프(Scope)
1. 스코프란
2. 스코프의 레벨(level)
3. Lexical Scoping
4. 스코프 개념을 다 알아야 하는가

Chapter 14 | Script Contoller는 함수(fuction)이다. 


Part 2 | 작업 스타일
Chapter 01 | 선택은 반드시 선택 툴로 하자
Chapter 02 | 유용한 단축키 지정
1. 뷰포트(Viewport) 콘트롤
2. Viewport Box Mode Toggle
3. Coordinate System 변환
4. Align
5. 단축키의 변경의 단점

Chapter 03 | 작업 규약(Convention)의 중요성
Chapter 04 | Dummy 보다는 포인트 헬퍼를 사용하자
Chapter 05 | 바이패드는 두껍게 만들자
Chapter 06 | 복잡한 계층 구조와 최적화 ¬
1. 데이터 Export 단계에서¬ 최적화¬ 
2. 계층 구조의 분리
3. 우리 엔진에¼¬ 특수한 컨트롤러를 써도 되나요


Part 03 | 실전 예제 | 캐릭터 리깅
Chapter 01 | 시작하기 전에
1. 바이패드에 대해서¬
2. 스키닝(Skinning)에 대해서¬
3. 캐릭터 리깅은 복합적인 작업 

Chapter 02 | 반 자동 목(Neck)
1. Point1
2. Bone01
3. 목(Neck) 본(Bone) 보다 더 많은 경우

Chapter 03 | 캔디 랩(Candy wrap) 현상과 중간 본 
1. 중간 본

Chapter 04 | 손목 트위스트 
1. 손목 트위스트 본은 왜 필요한가 
2. 다양한 접근 방식 
3. 일반 본으로 손목 트위스트 만들기

Chapter 05 | 팔꿈치와 무릎
1. 캔디 랩 
2. 관절의 위치와 쐐기꼴 현상 
3. 쐐기꼴 무¸¬을 °¬제로 벌려주기 
4. 관절 구조 변경으로 쐐기꼴 무¸¬ 해결하기 
5. 거꾸로 뒤집힌 값 만들기 

Chapter 06 | 겨드랑이
Chapter 07 | 트위스트 플립(Twist flip) 현상 해결하기 
Chapter 08 | 트위스트(Twist)를 위한 엣지 구성 
Chapter 09 | 어깨
1. 어깨 트위스트를 위한 폴리곤 구조 
2. 어깨 본 구조 
3. 삼각근 본의 응용 
4. 트위스트 본의 응용 
5. 바이패드에서 제공하는 상박 트위스트 본 

Chapter 10 | Parameter Editor
Chapter 11 | 꼬리와 포니 테일
1. 꼬리 만들기 
1-1. 플립(Flip) 현상을 개선한 Spline IK 제작 
1-2. Stretch 컨트롤 추가 
1-3. Tentacle 특성 추가 
1-4. Twist 컨트롤 추가 
2. 포니 테일 만들기 
3. 스프링 테일(Spring Tail)
4. Custom Spline IK

Chapter 12 | 안구와 시선처리
1. 타겟을 바라보기
2. 각도 제한
3. 실사 스타일의 눈과 카툰(Cartoon) 스타일의 눈 구조
3-1. 각 스타일의 특징과 이슈
3-2. 저패니메이션 스타일
3-3. 알파 소팅(Alpha Sorting)
3-4. 눈동자의 움직임
4. 시선 타겟의 IK와 FK
4-1. SOX Align Modifier

Chapter 13 | 여성 가슴
1. 계층 구조
2. 스프링 타겟 컨트롤과 대칭 구조 만들기

Chapter 14 | 엉덩이
1. 바이패드 허벅지 트위스트 
2. 본으로 허벅지 트위스트 만들기 
3. 엉덩이 중간 본 만들기 
4. Orientation Constraint 방식의 엉덩이 본
5. Reaction Controller 방식의 엉덩이 본

Chapter 15 | 손가락
1. 손가락 본의 구성 
2. 손가락 애니메이션 
1. Custom parameter 방식의 손가락 리깅 
2. 포스쳐 블랜더(SOX Posture Blender) 소개 
3. 포스쳐 블랜더로 작업하는 손가락 애니메이션 
4. 포스쳐 블랜더의 세부 기능들 

Chapter 16 | 근육 본 만들기 
1. 가장 기본적인 근육 본 
2. Stretch와 Scale의 차이점 
3. Squash를 다른 비율로 적용하기 
4. 프로젝트에서¬ 스케일 애니메이션을 사용할 수 있는가 
5. 위치 애니메이션으로 늘어나는 효과 만들기 
6. 실제 관절에 적용하기 

Chapter 17 | 대흉근 / 광배근 610
1. 대흉근을 위한 근육 본 준비 
2. LookAt을 이용한 부챗살 방식 (2L) 
3. Reaction Controller 방식 
4. Wire Parameter를 이용한 방식 
5. 뿌리의 위치와 어깨 트위스트 본 

Chapter 18 | 목 근육
1. 흉쇄유돌근 
2. 승모근

Chapter 19 | 이두박근
Chapter 20 | 페이셜
1. Mirror Tool과 포스쳐 블랜더 
2. 눈썹 
3. 눈 주변 
4. 하관 

Chapter 21 | 본으로 만드는 골격
1. IK-Joe에 대해¼¬ 
2. 허리 
3. 팔 
4. 다리
5. FK-IK Blend 
6. Stretch 

Chapter 22 | 랜디의 최종 셋업 살펴보기

Part 04 | 실전 예제 | 메카닉
Chapter 01 | 메카닉 리깅
1. 액추에이터(Actuator) 
2. 피스톤(Piston) 
3. 모터(Motor) 만들기 
4. 바퀴(Wheel) 
4-1. 자동 방향과 회전
4-2. 지면을 따라 움직이기


Part 05 | 실전 예제 | 시뮬레이션
Chapter 01 | 시뮬레이션
1. 머리카락과 치마
1-1. 짧은 길이
1-2. 지글 본 + 긴 길이
1-3. 시뮬레이션 + 긴 길이
1-4. 3ds Max 시뮬레이션을 본에 적용하기
2. 체인과 사슬
3. 랙 돌(Rag doll) 
4. 실시간 애니메이션과 슬레이브 본(Slave bone) 
4-1. Blend 방식
4-2. 시뮬레이션 방식


Appendix
Chapter 01 | 유용한 팁
1. 애니메이션 미러링(Mirroring) 
2. 스킨(Skin) 복제 
3. 스킨(Skin)에 본 추가는 Named Selection을 활용하자 
4. 스킨에 적용된 본을 대체하기
5. 바이패드를 SnapShot으로 복제한 오브젝트의 Gimbal lock  
6. 검광
7. Wire Parameter 연결할 때 회전 값을 50% 적용하기 
8. 스크립트 노트 

Chapter 02 | 자주 발생하는 문제
1. 3ds Max 파일의 용량이 지속적으로 커질 때 
2. 스킨 미러 복제시 Pelvis 복제 오류 
3. 바이패드 Trajectory 
4. bip 파일을 불러올 때 엉뚱한 위치로 불러지는 문제 
5. IK 체인의 노이즈 
6. 뷰포트로 3ds Max 파일을 드래그 했을 때 무조건 Merge되는 문제
7. 바이패드의 레이어가 생성이 안되는 문제

 

 

 

저자 소개

저자 : 이상원

(주)투핸즈게임즈 아트디렉터

네이버 카페 TAN(Technical Artists Network) 운영자
http://cafe.naver.com/pinksox
http://www.gamecharactersetup.com
http://www.illusionark.com

1993년 (주)만트라에 입사, 〈YS2 Special〉에서 배경 그래픽을 담당하며 게임 업계에 첫 몸을 싣는다. (주)어뮤즈월드에서 〈크로키〉, 〈한국프로야구98〉 등 다수의 아케이드 게임에서 그래픽 총괄을 담당했고, (주)재미시스템에서 메인 그래픽을 맡으며 〈Xtom 3D〉의 개발에 참여했다.
2000년 이후 (주)아이소프트로 옮겨 〈엘로드(구 〈아타나시아〉)〉를 통해서 Full 3D MMORPG 게임 개발에 참여해오다 (주)손노리에 합류하게 되고 〈화이트데이 멀티플레이 ‘오! 재미’〉, 〈SoullesS ? PS2〉 등의 게임에서 그래픽 총괄로 활동했다.
이후 (주)엔트리브로 분사, 온라인 판타지 골프게임 〈팡야〉에서 AD(아트디렉터)를 맡으며 〈팡야〉가 대 성공할 수 있는 견인차 역할을 했으며 〈팡야〉 시즌2 이후 미공개 신규 액션 프로젝트에서 프로듀서의 역할을 수행한 바 있다. 2006년 KGC〈한국 국제 게임 컨퍼런스〉에서 3D 캐릭터 셋업(리깅)에 대한 주제로 강의를 하며 업계의 숨겨진 실력자로 인정받고 있다. 평소 옆집 형과 같은 푸근한 인상과 남을 위한 사려 깊은 배려심으로 주위에 사람이 많다. 긍정적인 마인드의 소유자이자 매우 디테일하고 꼼꼼한 성격을 가진 유능한 IT 개발자이기도 하다.

 

 


3ds Max의 IK, Bone, Controller 등을 이용한 캐릭터 셋업 전문서
이 책은 3ds Max를 사용해서 게임용 캐릭터를 셋업하는 방법에 대해서 다루는 책이다. 특히 바이패드와 함께 Bone과 Controller를 제어하며 3D 캐릭터를 셋업하는 과정이 이 책의 핵심이며 이를 위해 오랜 실무를 경험해 온 저자의 고급 노하우들이 공개된다. 책 내용의 대부분이 게임 개발을 중심으로 설명이 되겠지만, 3ds Max 툴(IK, Bone, Controller 등)을 공부하기 위한 목적으로도 좋은 참고서가 될 것이다.

IK / FK? Bone? Controller? Max Script? 개념부터 잡아준다!
이 책은 캐릭터 셋업을 위해 반드시 알아두어야 할 기본 개념들, 즉 3D 좌표계의 이해부터 IK, Bone, 각종 Controller와 Max Script 등에 대한 개념과 원리를 차근차근 설명하고, ‘실전 예제’ 편의 중/고급 예제를 통해서 실전에서 활용해본다.

총 768페이지, 230여개의 3ds Max 예제파일, 70여개의 동영상 예제 수록
단순히 따라하기 형식의 묻지마 튜토리얼이 아닌 실제 개념과 원리를 깨우칠 수 있도록 총 230여개의 3ds Max 파일과 70여개의 동영상 예제가 제공된다. 특히 저자의 목소리를 직접 듣고 배우는 35개의 실전 동영상 강좌들은 이 책의 독자들에게 단비와 같은 콘텐츠가 될 것이다.

최고의 선물! 풀 셋팅된 랜디(남성 캐릭터) 파일 제공
이 책에는 본문의 예제로 사용된 남(랜디)/여(비키)캐릭터의 리깅 파일이 수록되어 있다. 특히 남성 캐릭터(랜디) 파일을 보면서 실제 3D캐릭터에 어떠한 방식으로 셋업 & 활용되는지 확인할 수 있게 된다. 이 책에서 제공하는 최고의 선물이다.

20여 년간 게임 개발에 몸담아 온 베테랑 개발자가 직접 집필
이 책은 20여 년간 게임 개발에 참여하며 경험해왔던 캐릭터 셋업 분야에 대한 저자의 노하우를 아낌없이 담았다. 본문에 수록된 각종 예제와 동영상 강좌를 보면 저자의 탄탄한 실력과 친절한 노하우 공개에 감탄해 할 것이다. 

 


이런 분들께 추천합니다.

이 책은, 모델링이나 매핑은 자신있지만 자신이 만든 모델링 결과를 애니메이션 하기 위해서 바이패드(Biped) 또는 본(Bone)에 연결하는 작업, 즉 셋업 혹은 리깅(Rigging)에서 항상 어려움을 겪는 분들에게 좋은 방향을 제시해 줄 것이다. 게임 개발자에서 캐릭터 애니메이션을 꿈꾸는 분이라면 누구에게나 큰 도움이 될 것이다.

 

추천평

이 책에는 기술이 있고 감각이 있으며 경험이 있습니다. 다양한 분야의 어려운 내용은 수많은 3ds Max 예제 파일과 동영상 강좌들을 통하여 독자들의 이해를 돕고자 하였습니다. 테크니컬 아티스트를 지망하는 게임 개발자와 초/중급 애니메이터에서 고급 테크니컬 애니메이터를 지망하는 분들에게 교과서와 같은 서적이 될 것이며, 게임 개발자들을 위한 필독서로서 언제나 책장의 한 켠에 소중하게 남아 있을 것입니다. 
정종필 (엔도어즈(Ndoors) 개발 1 본부 / Technical Art Director 부장)

이 책은 여러가지 의미에서 국내 3D 게임 아티스트들에게 많은 영감을 줄 것입니다. 특히 캐릭터 리거(Rigger) 뿐만 아니라 테크니컬 아티스트 및 애니메이터 들도 자신들의 주요 업무에 대한 근본적인 개념과 이해도를 높여줄 수 있을 것입니다. 학생은 이 책의 수준 높은 예제와 설명들을 통해서 셋업 및 리깅 분야로 뛰어들 수 있을 것이라 생각합니다. 또한 이미 현업에 종사하고 있는 분이라도 이 책을 통해서 한 단계 높게 올라설 수 있을 것입니다. 
김충효 (넥슨(Nexon) 데브캣 스튜디오 1 실 / Technical Art Director 부실장)

댓글