《绑定的艺术 Maya高级角色骨骼绑定技法 彩印 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:刘慧远,朱恩燕编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115344755
  • 页数:320 页
图书介绍:本书分为3篇,共17章。第1篇为角色设定基础,主要讲解创建骨骼装配常用的各项命令及实例;第2篇为角色高级设定,主要讲解绑定中的常用技巧,包括骨骼拉伸、IKFK无缝转换、膝盖锁定、手部无缝跟随头和腰、躯干IKFK共存等;第3篇为MEL应用,主要讲解设定中常用的MEL命令。附录中包含了骨骼绑定规范及各部分骨骼常用名称,以供读者参考。

第1篇 角色设定基础 21

第1章 人体关节正常活动范围 21

1.1 人体骨骼概述 21

1.2 上肢关节活动范围 21

1.2.1 头部活动范围 21

1.2.2 肩部活动范围 22

1.2.3 手臂活动范围 23

1.2.4 肘部活动范围 23

1.2.5 手部活动范围 24

1.2.6 腰部活动范围 25

1.3 下肢关节活动范围 25

1.3.1 腿部活动范围 25

1.3.2 膝部活动范围 26

1.3.3 脚部活动范围 26

第2章 骨骼创建 27

2.1 骨骼创建命令 27

2.1.1 Maya骨骼概述 27

2.1.2 骨骼创建工具(Joint Tool) 27

2.1.3 插入骨骼工具(Insert Joint Tool) 29

2.1.4 重置根关节(Reroot Skeleton) 29

2.1.5 清除骨骼(Remove Joint) 30

2.1.6 断开骨骼(Disconnect Joint) 30

2.1.7 连接骨骼(Connect Joint) 31

2.1.8 镜像骨骼(Mirror Joint) 31

2.1.9 定向骨骼(Orient Joint) 33

2.2 正向动力学与反向动力学 34

2.2.1 正向动力学与反向动力学概述 34

2.2.2 正向动力学(FK) 34

2.2.3 反向动力学(IK) 35

2.2.4 IK手柄工具(IK Handle Tool) 35

2.2.5 样条IK(IK Spline Handle Tool) 37

2.2.6 样条IK范例 37

2.3 父子层级控制 40

2.3.1 父子层级控制概述 40

2.3.2 创建父子层级关系 40

2.3.3 解开父子层级关系 40

2.4 组及控制器定位 41

2.4.1 组及控制器定位的重要性 41

2.4.2 通过组定位控制器 41

2.5 自定义属性及驱动关键帧 43

2.5.1 自定义属性概述 43

2.5.2 自定义属性范例 43

2.5.3 属性关联 44

2.5.4 驱动关键帧(Set Driven Key) 45

2.5.5 驱动关键帧范例 45

2.6 角色身体骨骼定位 46

2.6.1 躯干骨骼的结构 46

2.6.2 躯干骨骼定位 46

2.6.3 腿部骨骼定位 47

2.6.4 手臂骨骼定位 47

2.6.5 桡骨骨骼解决方案 48

2.6.6 锁骨定位 48

2.6.7 手指骨骼定位 49

2.6.8 骨骼轴向检查 49

2.6.9 镜像骨骼 50

第3章 约束 51

3.1 约束(Constrain)概述 51

3.2 点约束(Point) 51

3.2.1 创建点约束 51

3.2.2 X衣架范例 53

3.3 方向约束(Orient) 59

3.4 缩放约束(Scale) 60

3.5 父子约束(Parent) 60

3.6 极向量约束(Pole Vector) 61

3.7 目标约束(Aim) 61

3.7.1 创建目标约束 62

3.7.2 液压系统范例 62

3.7.3 活塞系统范例 64

3.8 其他约束 66

3.8.1 几何体约束(Geometry) 66

3.8.2 法线约束(Normal) 66

3.8.3 切线约束(Tangent) 66

第4章 角色蒙皮设定 67

4.1 蒙皮概述 67

4.2 光滑蒙皮(Smooth Bind) 67

4.2.1 通过属性编辑器来调整蒙皮的权重 68

4.2.2 权重的绘制 69

4.3 镜像权重(Mirror Skin Weights) 70

4.4 添加影响(Add influence) 70

4.5 刚体蒙皮命令(Rigid Bind) 72

4.6 分离权重(Detach Skin) 73

4.7 转到绑定姿势(Go To Bind Pose) 74

4.8 cometScripts插件 74

4.8.1 cometScripts插件简介 74

4.8.2 cometScripts插件安装方法 74

4.8.3 重命名工具 74

4.8.4 权重绘制 76

4.8.5 权重保存 78

4.8.6 权重镜像 78

第5章 变形器 81

5.1 变形的概念和用途 81

5.2 变形的种类 81

5.3 融合变形(Blend Shape) 81

5.3.1 创建融合变形 82

5.3.2 融合变形添加、移除及交换 84

5.4 晶格变形(Lattice) 84

5.4.1 创建晶格变形效果 84

5.4.2 重设影响晶格点和去除曲扭 85

5.5 包裹变形(Wrap) 86

5.5.1 创建包裹变形 86

5.5.2 添加和去除包裹影响体 87

5.6 簇变形(Cluster) 87

5.6.1 创建簇变形 87

5.6.2 绘画簇权重 88

5.7 软变形(Soft Modification) 89

5.8 非线性变形工具(Nonlinear)概述 90

5.8.1 创建弯曲变形(Blend) 90

5.8.2 创建扩张变形(Flare) 91

5.8.3 创建正弦变形(Sine) 92

5.8.4 正弦变形创建骨骼自动尾随 93

5.8.5 创建挤压变形(Squash) 95

5.8.6 创建扭曲变形(Twist) 95

5.8.7 创建波形变形(Wave) 96

5.9 造型变形(Sculpt Deformer) 97

5.10 颤动变形(Jiggle Deformer) 98

5.10.1 创建颤动变形 99

5.10.2 创建颤动缓存 99

5.10.3 删除颤动缓存 99

5.11 线变形工具(Wire Tool) 100

5.12 褶皱变形(Wrinkle Tool) 101

5.12.1 褶皱变形的种类 101

5.12.2 创建褶皱变形 101

第6章 Maya设定常用材质节点工具 103

6.1 材质节点概述 103

6.2 节点创建方法 103

6.3 节点的输入和输出 104

6.4 乘除节点(Multiply Divide) 104

6.5 平均数节点(Plus Minus Average) 106

6.6 翻转节点(Reverse) 109

6.7 条件节点(Condition) 110

6.8 融合节点(blendColors) 113

6.9 限制节点(Clamp) 115

6.10 距离节点(distanceBetween) 117

第2篇 角色高级设定 120

第7章 胳膊系统设定 120

7.1 胳膊不跟随肩部 120

7.1.1 肩部带动胳膊概述 120

7.1.2 手臂骨骼创建 120

7.1.3 手臂控制器创建 120

7.1.4 通过约束控制不跟随肩部 121

7.1.5 创建跟随开关 122

7.1.6 跟随开关参数关联 123

7.2 肩部无翻转 124

7.2.1 肩部无翻转概述 124

7.2.2 无翻转的原理 124

7.2.3 手臂骨骼创建 124

7.2.4 创建手臂控制器 125

7.2.5 创建肩部辅助骨骼 125

7.2.6 锁定肩部骨骼 126

7.2.7 二头肌骨骼递减表达式 126

7.3 胳膊自动扭曲系统 127

7.3.1 制作思路 127

7.3.2 创建骨骼及IK 127

7.3.3 设置高级扭曲系统 128

7.3.4 创建辅助控制骨骼 128

7.3.5 创建层级 128

7.3.6 创建簇控制样条曲线 129

7.3.7 创建辅助骨骼拉伸 129

7.3.8 创建其他辅助骨骼 129

7.3.9 匹配手臂骨骼 130

7.4 肢体次级骨骼 131

7.4.1 肢体次级骨骼原理 131

7.4.2 创建毛发系统 132

7.4.3 创建次级骨骼 132

7.4.4 创建控制骨骼 133

7.4.5 创建locator辅助控制器 133

7.4.6 为nurbus刷权重 134

7.4.7 约束控制骨骼 134

7.4.8 为平面绘制权重 136

7.4.9 次级骨骼匹配到手臂上 136

第8章 躯干系统设定 138

8.1 躯干单骨骼线性IKFK共存 138

8.1.1 制作思路 138

8.1.2 创建躯干骨骼及IK 138

8.1.3 创建躯干IK控制器及层级关系 138

8.1.4 创建躯干FK控制器 139

8.1.5 IK与FK控制器之间层级 139

8.2 躯干IKFK共存技术 140

8.2.1 制作思路 140

8.2.2 躯干IKFK共存原理 140

8.2.3 骨骼及控制器创建 141

8.2.4 创建躯干控制器 142

8.2.5 创建躯干约束 142

8.3 躯干IKFK共存JS法 144

8.3.1 躯干骨骼及IK创建 144

8.3.2 辅助骨骼控制样条IK 144

8.3.3 创建辅助控制骨骼及控制器 145

8.3.4 辅助骨骼约束控制 145

8.4 躯干无翻转系统 147

8.4.1 躯干控制骨骼及控制器创建 147

8.4.2 辅助Locator创建 149

8.4.3 平均节点控制Locator组 150

第9章 三套骨骼及骨骼拉伸系统设定 154

9.1 IK骨骼拉伸——表达式方式 154

9.1.1 Transfor方式骨骼拉伸等长原理 154

9.1.2 Transfor方式骨骼拉伸不等长原理 154

9.1.3 Scale方式骨骼拉伸原理 154

9.1.4 创建腿部骨骼及IK 155

9.1.5 创建腿部骨骼测量及控制器 155

9.1.6 骨骼常规拉伸 156

9.1.7 骨骼无限拉伸 157

9.1.8 骨骼拉伸开关 157

9.1.9 骨骼拉伸后腿部形状保持 159

9.1.10 线性IK骨骼拉伸及挤压 159

9.2 IK骨骼拉伸——节点方式 162

9.2.1 节点方式制作概述 162

9.2.2 创建腿部骨骼空组 163

9.2.3 创建拉伸所需节点 163

9.2.4 连接距离节点 164

9.2.5 连接条件节点 164

9.2.6 连接乘除节点 165

9.2.7 连接融合节点 165

9.2.8 融合节点输出值分配给各骨骼 165

9.3 三套骨骼——表达方式 166

9.3.1 三套骨骼制作思路 166

9.3.2 三套骨骼创建 166

9.3.3 创建IK控制手柄及控制器 167

9.3.4 创建FK控制器 168

9.3.5 FK控制器约束骨骼 168

9.3.6 IK控制骨骼约束绑定骨骼 169

9.3.7 FK控制骨骼约束绑定骨骼 169

9.3.8 骨骼及控制器显示表达式 169

9.3.9 约束开关表达式 170

9.3.10 约束开关表达式原理 171

9.4 三套骨骼——节点方式 171

9.4.1 三套骨骼—节点方式概述 171

9.4.2 创建融合节点 172

9.4.3 融合节点控制三套骨骼显示原理 172

9.4.4 节点连接控制器显示 173

9.4.5 融合节点控制约束节点 174

第10章 脚部系统设定 176

10.1 脚部设置——打组法 176

10.1.1 脚部打组法概述 176

10.1.2 脚部打组方法一 176

10.1.3 创建腿部控制器 176

10.1.4 脚部打组确定旋转轴 177

10.1.5 控制器属性关联 179

10.1.6 限制脚部组旋转 180

10.1.7 脚部打组方法二 181

10.1.8 脚部打组方法三 183

10.2 脚部设置——反转脚 185

10.2.1 反转脚概述 185

10.2.2 创建腿部骨骼及IK 185

10.2.3 创建IK手柄及控制器 186

10.2.4 脚部属性关联 187

10.2.5 创建其他旋转轴 187

10.2.6 使用min和max创建脚部side系统 188

10.3 脚部设置——Roll系统 189

10.3.1 使用条件语句和clamp函数创建Roll系统 189

10.3.2 使用linstep创建Roll系统 190

10.3.3 linstep函数Roll系统所用表达式详解 191

第11章 膝盖锁定系统设定 193

11.1 膝盖肘部锁定——节点 193

11.1.1 膝盖肘部锁定制作思路 193

11.1.2 创建手臂骨骼及控制器 193

11.1.3 创建距离测量 194

11.1.4 通过节点创建骨骼拉伸 196

11.1.5 肘部锁定节点 199

11.2 膝盖肘部锁定——表达式 203

11.2.1 表达式制作膝盖肘部锁定 204

11.2.2 嵌套条件语句制作膝盖肘部锁定 205

11.2.3 嵌套语句原理 206

第12章 无缝转换系统设定 207

12.1 parent控制器制作及IKFK控制器颜色技巧 207

12.1.1 Parent控制器制作思路 207

12.1.2 创建形体 208

12.1.3 Parent命令结合形体节点 208

12.1.4 表示式控制形体颜色变化 209

12.2 IKFK无缝转换 210

12.2.1 无缝转换制作思路 210

12.2.2 创建Locator定位 211

12.2.3 MEL控制无缝转换 211

12.2.4 无缝转换MEL命令说明 213

12.3 手部无缝跟随头和腰 213

12.3.1 无缝跟随制作思路 213

12.3.2 创建手部及控制器 213

12.3.3 创建头腰约束 214

12.3.4 MEL控制无缝跟随 215

12.4 头部无缝跟随脖子切换 216

12.4.1 创建骨骼及控制器 216

12.4.2 创建约束及添加自定义属性 217

12.4.3 MEL控制无缝跟随 218

12.5 自定义右键弹出命令 219

12.5.1 自定义右键弹出命令概述 219

12.5.2 IKFK无缝转换MEL打包 219

12.5.3 Reset MEL打包 220

12.5.4 制作鼠标右键快捷键 221

12.5.5 修改dagMenuProc.mel 222

12.5.6 将上述MEL输入到表达式中 223

第13章 手部系统设定 224

13.1 手部翻转控制 224

13.1.1 翻转原理 224

13.1.2 创建手部及辅助骨骼 224

13.1.3 创建手部IK及控制器 225

13.1.4 创建Locator定位 226

13.1.5 创建手部层级关系 226

13.1.6 参数关联控制手腕翻转 227

13.2 手指控制——表达式 228

13.2.1 制作思路 228

13.2.2 创建手部骨骼及控制器 228

13.2.3 手部控制器属性及参数关联 229

13.2.4 表达式控制手指弯曲及分开 231

13.3 Gimbal Lock万向节锁 232

13.3.1 万向节锁原理 232

13.3.2 万向节锁解决办法 233

第14章 面部系统设定 235

14.1 面部骨骼直接控制 235

14.1.1 眉毛骨骼定位 235

14.1.2 眼睛骨骼定位 235

14.1.3 颧骨骨骼定位 236

14.1.4 脸颊骨骼定位 236

14.1.5 下巴骨骼定位 236

14.1.6 头骨及脖子骨骼定位 237

14.1.7 下颌骨骼定位 237

14.1.8 舌头骨骼定位 237

14.1.9 下巴层级骨骼定位 237

14.2 面部融合变形UI面板制作 239

14.2.1 软选工具应用 239

14.2.2 创建BlendShape 239

14.2.3 创建UI控制器 240

14.2.4 表达式控制UI面板 241

14.2.5 控制器x轴位移控制左右嘴角 241

14.2.6 左右嘴角控制原理 242

14.2.7 控制器在左上角和右上角起作用 242

14.2.8 控制器y轴为1时,左右嘴角起作用 242

14.3 面部次级骨骼 243

14.3.1 制作思路 243

14.3.2 模型及Blend Shape创建 243

14.3.3 创建粒子发射器 243

14.3.4 创建次级骨骼及绘制权重 244

14.3.5 参数关联及表达式 245

14.3.6 其他附着表面工具制作方法及优缺点 246

14.4 眼球自动跟随眼皮 247

14.4.1 眼球自动跟随眼皮的制作思路 247

14.4.2 约束控制 247

14.4.3 眼球向下自动闭眼表达式 248

14.4.4 眼球旋转带动眼皮轻微运动表达式 248

14.5 头部挤压拉伸 249

14.5.1 骨骼及控制器创建 249

14.5.2 表达式控制骨骼挤压 250

第15章 骨骼动力学及尾巴系统设定 251

15.1 骨骼动力学 251

15.1.1 制作思路 251

15.1.2 创建骨骼及IK 251

15.1.3 创建柔体 251

15.1.4 创建弹簧系统 252

15.2 自动尾随系统设置 253

15.2.1 sin函数原理 253

15.2.2 默认sin函数效果 253

15.2.3 改变上下幅度 254

15.2.4 改变左右幅度 254

15.2.5 创建骨骼及控制器 254

15.2.6 表达式控制尾随 255

15.3 自动尾巴卷曲技术 255

15.3.1 制作思路 255

15.3.2 创建骨骼及控制器 256

15.3.3 表达式控制卷曲 257

15.3.4 表达式原理 258

第3篇 MEL应用 259

第16章 MEL基础 259

16.1 理解MEL 260

16.2 MEL的重要性 260

16.3 如何学习MEL 260

16.4 MEL和表达式的区别 260

16.5 MEL编辑器 261

16.6 命令行(Command Line) 261

16.7 脚本编辑器 262

16.8 MEL命令(Command) 262

16.9 MEL命令快速帮助 262

16.10 建立快捷按钮(Shelf) 263

16.11 编辑快捷按钮 264

16.12 自定义快捷菜单 264

16.13 其他常用菜单命令及快捷按钮 265

16.14 Maya插件的一般安装方法 265

16.15 MEL运算符 266

16.15.1 数学运算符 266

16.15.2 关系运算符 266

16.15.3 逻辑运算符 266

16.15.4 赋值运算符 266

16.16 变量 266

16.16.1 浮点型变量 266

16.16.2 整数型变量 267

16.16.3 字符串变量 267

16.16.4 矢量变量 267

16.16.5 预定义变量 267

16.16.6 在全局中使用自定义变量 267

16.16.7 变量(variable)的规范 267

16.17 数组 268

16.17.1 数组声明 268

16.17.2 给数组赋值 268

16.18 print命令 269

16.19 条件语句 269

16.20 select命令 270

16.21 setAttr命令 270

16.22 表达式 271

16.23 headsUpMessage命令 273

16.24 ls-sl命令 273

16.25 函数 274

16.25.1 min最小值函数 274

16.25.2 max函数 274

16.25.3 Clamp函数 275

16.25.4 sin三角函数 275

16.25.5 cos三角函数 275

16.25.6 linstep曲线函数 275

16.25.7 linstep函数算法 275

第17章 MEL高级窗口 275

17.1 MEL窗口概述 276

17.2 创建窗口 276

17.2.1 window命令(创建窗口) 276

17.2.2 showWindow命令(显示窗口) 277

17.2.3 标签命名 277

17.2.4 设置窗口的大小 277

17.2.5 窗口命名 278

17.2.6 deleteUI命令(销毁界面元素) 278

17.2.7 条件语句使用deleteUI命令 279

17.2.8 window常用子命令 279

17.3 控件(Control)及布局(LayoUt) 279

17.3.1 控件及布局概述 279

17.3.2 rowColumnLayout命令(横竖布局) 280

17.3.3 text命令(静态文本) 282

17.3.4 改变文字与按钮之间间隔 282

17.3.5 separato r命令(分割线) 284

17.3.6 symbolBotton命令(图标按钮) 287

17.3.7 command命令(执行命令) 289

17.3.8 层级关系 290

17.3.9 setParent命令(指定当前布局) 290

17.3.10 columnLayout命令(竖布局) 290

17.3.11 使文本框内名称与创建的球体名称相同 291

17.3.12 rowLayout命令(横布局) 292

17.3.13 rowColumnLayout命令(横竖布局) 293

17.3.14 scrollLayout命令(滚动布局) 294

17.3.15 frameLayout命令(边框布局) 294

17.3.16 paneLayout命令(窗格布局) 298

17.3.17 tabLayout命令(标签布局) 299

17.3.18 formLayout命令(表单布局) 300

17.3.19 gridLayout命令(格子布局) 304

17.3.20 menuBarLayout命令(菜单条布局) 305

17.3.21 shelfLayout命令(工具架布局) 306

17.3.22 shelfTabLayout命令(工具架标签布局) 307

17.3.23 “confirmDialog”命令(确认对话框) 307

附录 角色设定规范 311

附录A 骨骼绑定规范 311

附录B 骨骼常用名称 319