목차 소개
Part 1. 개념을 잡자 28
Ch1. 좌표계(Coordinate System) /30
로컬 좌표와 월드 좌표 /30
로컬 트랜스폼을 강제로 고정하기 /32
부모(Parent)의 회전 /34
반드시 알아야 하는 개념 /34
트랜스폼 적용하기 /35
응용하기 /37
Ch2. 본(Bone) /40
본(Bone)의 생성 /40
본툴(Bone Tools)? /41
처음해보는 Max Script /43
Bone Tools의 사용 /46
본(Bone)이 갑자기 움직이지 않는다면?/52
Link Display /54
본(Bone)의 겉모습은 중요하지 않다 /54
Ch3.오일러와 쿼터니언 /57
오일러(Euler)와 짐벌락(Gimbal-Lock) /58
쿼터니언 /63
Script Controller로 살펴 본 쿼터니언(Quaternion) /64
오일러와 쿼터니언의 비교 /72
360도 회전 /72
짐벌락 /72
커브(Curve) 컨트롤 /73
Max Script /73
Ch.4 Hierachy / 74
기본 개념 /75
Pivot /76
Adjust Pivot 롤아웃 /76
Working Pivot 롤아웃 /77
Adjust Transform 롤아웃 /77
Skin Pose 롤아웃 /78
Link Info /79
Locks 롤아웃 /79
Inherit 롤아웃 /79
Inherit와 Reset Scale /80
Inherit /80
Reset scale /88
Reset Stretch /88
IK(Inverse Kinemetrics) / 90
IK 분류 /92
CAT(Character Animation Tools)과 바이패드(Biped) /93
Puppet Shop /95
바이패드 IK 사용하기 /96
좌표계(Coordinate system) - Body & Object /100
Blend 적용하기 /101
Blend와 커브 편집 /103
본(Bone)의 IK 사용하기 /105
Hisolver 예제 /106
Interactive IK 예제 /109
Interactive IK와 일반 IK의 차이 /114
IK 버튼의 기능 /117
Inverse Kinematics Rollout /117
Object Parameters Rollout (HD Solver) /118
Auto Termination /121
Sliding and Rotational Joints Rollouts (HD Solver) /121
IK Solvers /123
바이패드(Biped)를 사용할지 본(Bone)을 사용할지 /144
Ch.5 Controller 콘트롤러 / 145
Controller 이해하기 /147
Controller 예제 /152
Controller에 접근하기 /152
Controller의 분류와 구조
Controller와 Constraint
적용된 Controller의 종류 살펴보기
Controller 속성 변경 /155
절차적인 (Procedural) Controller 속성 변경 /156
키프레임(Keyframe)을 사용하는 Controller 속성 변경 /156
커브 에디터에서 키 정보를 살펴보기 /156
Motion 판넬에서 키 정보를 살펴보기 /157
트랙 바(Track bar)에서 키 정보를 살펴보기 /157
아무런 속성도 표시되지 않는 콘트롤러 /157
Controller 지정하기 /158
트랙뷰에서 지정하기 /158
Motion 판넬에서 지정하기 /159
Animation 메뉴에서 지정하기 /159
Controller 복사하고 붙이기 /160
바이패드 모양 바꾸기 /160
디폴트(Default) 콘트롤러 설정 /165
일반적인 목적의 Controller /166
Bezier Controller /167
Normalize Time /168
Constant Velocity /170
Free handle /172
TCB Controllers /173
Linear Controller /174
Noise Controller /175
Animation Range /177
Seed /178
XYZ Controller /178
Position XYZ /178
Euler XYZ /179
애니메이션 키 분리하기 /180
Audio Controller /180
특수한 목적의 Controller /180
List Controller /180
List Controller 적용하기 /181
Motion 판넬 혹은 트랙 뷰에서 지정하기 /181
Animation 메뉴에서 지정하기 /182
섞이는 순서 /183
세부 조절 /183
Pose to Pose /184
Zero Transform /185
Parameter Wiring /190
Parameter Wire 란 /190
기본 활용 예제 /190
다양한 접근 방법 /197
연결되는 값은 로컬인가 월드인가? /199
Script 활용 /204
Rotation(로테이션) 연결 /204
Position(포지션) 연결 /207
Reaction Controllers / 209
Reaction Controller 란? /209
간단한 예제 /210
우산 예제 /218
엉덩이 관절 /219
세부 기능/ 220
Reactions list /220
States list /223
그래프(Graph) /225
우클릭(Right-click) 메뉴 /225
Motion Capture Controller /226
Motion Capture Controller의 역할 /226
적용 순서 /226
어떤 경우에 사용하는가? /227
트랜스폼 제어(Controlling Transforms) /228
Link Constraint /228
Position / Rotation / Scale Controller / 232
Transform Script Controller /232
Transform Script Controller의 예 /233
XRef Controller /234
Animation Constraints(애니메이션 컨스트레인트)
LookAt Constraint /235
Add LookAt Target /236
Delete LookAt Target /236
Weight /236
Keep Initial Offset /237
Viewline Length, Viewline Length Absolute /237
Set Orientation /237
Reset Orientation /237
Select LookAt Axis /238
Select Upnode /238
Upnode Control /239
Source/Upnode Alignment /239
Orientation Constraint /240
Add Orientation Target /240
Add World as Target /240
Delete Orientation Target /240
Weight /240
Keep Initial Offset /240
Transform Rule /241
Path Constraint /242
Add Path, Delete Path, Weight /242
% Along Path /243
Follow, Bank /244
Bank Amount /246
Smoothness /246
Allow Upside Down /246
Constant Velocity /247
Loop /248
Relative /248
Axis, Flip /248
Position Constraint /248
Add position target /249
Delete position target /249
Weight /249
Keep Initial Offset /249
Attachment Constraint /250
작업 방법 /250
Attach To 그룹 /252
Update group /252
Key Info group /252
TCB group /252
Surface Constraint /253
적용하기 /254
Surface Options 그룹 /254
기타 컨트롤러 /255
Limit Controller(리미트 컨트롤러) /255
Limit Controller란? /255
Limit Controller의 제약사항 / 256
Limit Controller의 적용 /256
기능 설명 /257
우클릭 메뉴 /258
Spring Controller /259
간단한 예제 /259
여러 개의 고무줄 /261
기능 설명 /263
Spring Dynamics 롤아웃 /263
Forces Limits and Precision 롤아웃 /264
Spring Controller의 단점과 보완 /265
반복(Looping) 애니메이션과 지글 본(Jiggle bone) /265
Spring Controller를 많이 사용하면 느려지는 문제 /267
Realtime Spring(리얼타임 스프링) /269
Waveform Controller /270
Look At Controller /270
Smooth Rotation Controller /271
On/Off Controller, Boolean Controller /271
Layer Controller /273
개요 /272
간단한 예제 /273
기능 설명 /277
Layer 툴 바 인터페이스 /277
Layer Controller인터페이스 /282
Facial Rigging(페이셜 리깅)에 응용하기 /284
Layer Controller 사용 시 주의할 점 /285
Special Section_01 > Expression /286 "
Ch.1 Expression 이란? /288
Ch.2 Expression Controller /288
Script Controller와의 비교 /294
Ch.3 변수와 상수 사용하기 /295
예약 변수 /296
예약 상수 /296
스칼라(Scalar) 변수와 벡터(Vector) 변수 /296
Tick Offset /306
Ch.4 연산자(演算子, Operators) /309
Ch.5 스칼라(Scalar) 산술 연산자 /309
스칼라(Scalar) 관계 연산자와 논리 연산자 /309
벡터(Vector) 컴포넌트 연산자 /310
벡터(Vector) 산술 연산자 /310
연산의 우선 순위 /312
벡터의 내적과 외적 /312
Ch.6 함수 사용하기 /316
함수의 개념 /316
삼각함수 /318
지수 함수, 로그, 자연로그 /321
라디안과 각도 변환 함수 /321
소수점 올림과 버림 함수 /322
일반적인 함수 /322
조건 함수 /326
벡터 함수 /331
변수의 좌표계 /334
Expression Controller의 다양한 적용 /339
"Special Section_2 Max Script & Script Controller /342"
Ch.1 Script Listener /344
Ch.2 Macro Recorder /345
간단한 Script 구문을 실행하고 리턴 값을 모니터링 /347
디버깅 /347
Max Script 디버거 /349
Ch.3 as /352
Ch.4 소스 코드 레이아웃과 주석 /353
Ch.5 Macro Script(매크로 스크립트) /355
Macro Script의 빠른 생성 /356
Macro Script의 버튼 변경 /360
Script 레퍼런스 문서 어떻게 읽는가? /361
Macro Script의 수동 생성 /363
Macro Script의 문법 설명 /365
키보드 단축키, 툴 바, 쿼드 메뉴, 일반 메뉴에 등록하기 /365
나만의 아이콘 추가 /366
Ch.6 예약어 /369
Ch.7 변수(變數, variable) /370
변수란? /370
이름 /371
변수의 종류 /372
일반 변수 /372
배열 변수 /373
Ch.8 구조체(Structure) /379
Ch.9 기준 좌표계와 Max Script /382
Ch.10 데이터 형(Data type) /392
숫자(Number Values) /394
문자열(String Values) /395
Point3, Point2 Values /398
Matrix3 Values /399
쿼터니언(Quat Values)과 오일러(EulerAngles Values) /402
Script로 오브젝트의 회전 값에 접근하기 /402
오일러 회전 값의 누적과 Controller 접근 /405
쿼터니언 연산과 slerp(Spherical Linear Interpolation) 함수 /409
Ch.11 컬렉션(Collections) /414
NodeChildrenArray /415
ObjectSet /416
Pathname /417
Ch.12 Script의 흐름 제어 /419
If /420
For /423
Ch.13 함수(Function) /425
예제로 살펴보는 함수 만들기 /425
리턴(Return) /429
파라미터(parameter) 없이 함수 실행하기 /430
함수의 문법과 파라미터(Parameter) /431
Ch.14 변수의 스코프(Scope) /434
스코프란? /434
스코프의 레벨(level) /436
Lexical Scoping /438
스코프 개념을 다 알아야 하는가? /438
Ch.15 Script Contoller는 함수(fuction)이다. /439
Part.2 작업스타일 /446
Ch.1 선택은 반드시 선택 툴로 하자 /448
Ch.2. 유용한 단축키 지정 /450
뷰포트(Viewport) 콘트롤
Viewport Box Mode Toggle /452
Coordinate System변환 /453
Align /454
단축키 변경의 단점 /454
Ch.3 작업 규약(Convention)의 중요성 /455
Ch.4 Dummy보다는 Point 헬퍼를 쓰자 /457
Ch.5 바이패드는 두껍게 만들자 /459
Ch.6 복잡한 계층 구조와 최적화 /460
데이터 Export 단계에서 최적화 /461
계층 구조의 분리 /462
계층 구조 분리 방식의 장점 /463
계층 구조 분리 방식의 단점 /464
우리 엔진에서 특수한 컨트롤러를 써도 되나요? /464
Part 3. 실전 예제 > 캐릭터 리깅 /466
Ch.1 시작하기 전에 /468
바이패드에 대해서 /468
스키닝(Skinning)에 대해서 /468
캐릭터 리깅은 복합적인 작업 /469
Ch.2 반 자동 목(Neck) /470
Point01 /472
Bone01 /472
목(Neck) 본(Bone)이 더 많은 경우 /473
Ch.3 캔디 랩(Candy wrap) 현상과 중간 본 /474
중간 본 /477
Ch.4 손목 트위스트 /479
손목 트위스트 본은 왜 필요한가 /479
다양한 접근 방식 /481
몇 개를 사용하는가 /481
바이패드 트위스트 본을 사용할 지, 일반 본을 사용할 지
일반 본으로 손목 트위스트 만들기 /483
Ch.5 팔꿈치와 무릎 /484
캔디 랩 /484
관절의 위치와 쐐기꼴 현상 /485
쐐기꼴 무릎을 강제로 벌려주기 /489
관절 구조 변경으로 쐐기꼴 무릎 해결하기 /493
거꾸로 뒤집힌 값 만들기 /497
Ch.6 겨드랑이 /499
Ch.7 트위스트 플립(Twist flip) 현상 해결하기 /501
Ch.8 트위스트(Twist)를 위한 엣지 구성 /509
Ch.9 어깨 /513
어깨 트위스트를 위한 폴리곤 구조 /513
어깨 본 구조 /515
삼각근 본의 응용 /517
트위스트 본의 응용 /517
바이패드에서 제공하는 상박 트위스트 본 /518
Ch.10 Parameter Editor /519
Ch.11 꼬리와 포니 테일 /522
꼬리 만들기 /523
플립(Flip) 현상을 개선한 Spline IK 제작 /524
Stretch 컨트롤 추가 /526
Tentacle 특성 추가 /532
Twist 컨트롤 추가 /534
포니 테일 만들기 /537
스프링 테일(Spring Tail) /538
Custom Spline IK / 540
Ch.12 안구와 시선 처리 /542
타겟(Target)을 바라보기 /542
각도 제한 /544
실사 스타일의 눈과 카툰(Cartoon) 스타일의 눈 구조 /550
각 스타일의 특징과 이슈 /550
저패니메이션 스타일 /551
알파 소팅(Alpha Sorting) /552
눈동자의 움직임 /555
시선 타겟의 IK와 FK /558
SOX Align Modifier /561
Ch.13 여성 가슴 /562
계층구조 /564
스프링 타겟 컨트롤과 대칭 구조 만들기 /566
Ch.14 엉덩이 /568
바이패드 허벅지 트위스트 /569
본으로 허벅지 트위스트 만들기 /571
엉덩이 중간 본 만들기 /574
Orientation Constraint 방식의 엉덩이 본 /576
Reaction Controller 방식의 엉덩이 본 /578
Ch.15 손가락 /583
손가락 본의 구성 /583
손가락 애니메이션 /584
Custom parameter 방식의 손가락 리깅 /586
포스쳐 블랜더(SOX Posture Blender) 소개 /591
포스쳐 블랜더로 작업하는 손가락 애니메이션 /593
포스쳐 블랜더의 세부 기능들 /595
Ch.16 근육 본 만들기 /597
가장 기본적인 근육 본 /597
Stretch와 Scale의 차이점 /599
Squash를 다른 비율로 적용하기 /600
프로젝트에서 스케일 애니메이션을 사용할 수 있는가 /603
위치 애니메이션으로 늘어나는 효과 만들기 /603
실제 관절에 적용하기 /604
Ch.17 대흉근 / 광배근 /606
대흉근을 위한 근육 본 준비 /608
LookAt을 이용한 부챗살 방식 (2L) /609
Reaction Controller 방식 /611
Wire Parameter를 이용한 방식 /612
뿌리의 위치와 어깨 트위스트 본 /617
Ch.18 목 근육 /619
흉쇄유돌근 /620
승모근 /621
Ch.19 이두박근 /626
Ch.20 페이셜 /630
Mirror Tool과 포스쳐 블랜더 /631
눈썹 /633
눈 주변 /636
하관 /645
Ch.21 본으로 만드는 골격 /646
IK-Joe에 대해서 /646
허리 /647
팔 /648
다리 /653
FK-IK Blend /663
Stretch /668
늘어나는 팔과 다리 /668
스키닝 이슈(Skinning issue) /674
풀 바디 IK(Full-body IK) /676
Ch.22 랜디의 최종 셋업 살펴보기
Part.4 실전예제 > 메카닉 리깅 /678
Ch.1 메카닉 리깅 /680
액추에이터(Actuator) /681
피스톤(Piston) /684
모터(Motor) 만들기 /685
바퀴(Wheel) /688
지면을 따라 움직이기 /671
Part.5 실전예제 > 시뮬레이션 /702
Ch.1 시뮬레이션(Simulation) /704
머리카락과 치마 /705
짧은 길이 /706
지글 본 + 긴 길이 /707
시뮬레이션 + 긴 길이 /708
3ds Max 시뮬레이션을 본에 적용하기 /710
체인과 사슬 /717
랙 돌(Rag doll) /719
실시간 애니메이션과 슬레이브 본(Slave bone) /720
블랜드 방식 /720
시뮬레이션 방식 /720
3ds Max의 모든 컨트롤러를 게임에서 그대로 재현하는 방법
3ds Max의 컨트롤러 적용 결과를 샘플링(Sampling) 하는 방법
앞의 두 가지 방법을 혼합한 방법 /721
애니메이션 미들웨어 /721
Appendix /722
Ch.1 유용한 팁 /724
애니메이션 미러링(Mirroring) /724
언제나 대칭인 날개 리깅 /725
바이패드를 활용한 미러 /728
Mirror Tool /729
스킨(Skin) 복제 /730
Skin Utilities를 사용한 복제 /730
Skin Wrap 모디파이어를 사용한 복제 /734
스킨(Skin)에 본 추가는 Named Selection을 활용하자 /735
스킨에 적용된 본을 대체하기 /735
바이패드를 SnapShot으로 복제한 오브젝트의 Gimbal lock /736
검광 /737
Wire Parameter 연결할 때 회전 값을 50% 적용하기 /738
스크립트 노트 /739
Ch.2 자주 발생하는 문제들 /746
3ds Max 파일의 용량이 지속적으로 커질 때 /746
스킨 미러 복제시 Pelvis 복제 오류 /746
바이패드 Trajectory /748
bip 파일을 불러올 때 엉뚱한 위치로 불러지는 문제 /749
IK 체인의 노이즈 /750
뷰포트로 3ds Max 파일을 드래그 했을 때 무조건 Merge되는 문제
바이패드의 레이어가 생성이 안되는 문제 /752
.