Maya Python 游戏与影视编程指南

综合评级:
★★★★★

定价:
¥79.00

作者:
[美] Adam Mechtley

出版社:
人民邮电出版社

出版日期:
2016年1月

页数:
290

字数:
462

ISBN:
9787115406699

书籍介绍

本书涵盖了与Maya相关的Python的主要方面的内容,解答了有关Maya的多个Python实施问题,包括强大的PyMEL和漂亮的PyQt用户界面。

本书内容包括基础知识和更高级的主题,分为3部分,共12章。第1部分为Python和Maya的基础知识,第2部分是使用Python设计Maya工具,第3部分介绍了Maya Python API基础知识。其中,面向对象编程和过程式编程、环境设置和PyQt GUI等一般性主题也有所涉及,但着眼点是在Maya中的集成。掌握了本书的内容,读者可为以后的学习奠定坚实的基础。

本书适用于运用Maya Python或Maya API编程的专业人员,以及影视特效脚本编写的专业人员。

作者简介

Adam Mechtley进入游戏行业后,负责当时的游戏(Xbox 360/SP3)的角色技术。他参与了大量获奖游戏制作,并且参与过Autodesk的项目等。Ryan Trowbridge是Naughty Dog Inc.的一名角色技术总监,他于2000年加入Pipeworks Software,先是担任纹理和环境美工,然后担任角色和动画美工,他从事角色流程、工具和动画方面的工作。

目录

致谢 xi

引言:欢迎使用Maya Python xii

第 1 部分 Python和Maya的基础知识 1

第 1 章 Maya 命令引擎和用户界面 2

1.1 与Maya 进行交互 3

Maya 嵌入式语言 3

Python 3

C++ 应用程序编程界面 3

Python API 4

1.2 在Maya 中执行Python 4

命令行 4

脚本编辑器 5

Maya 工具架 7

1.3 Maya 命令和依存关系图 8

1.4 Python 命令简介 10

1.5 标志参数和Python 核心对象类型 14

数字 15

字符串 15

列表 15

元组 15

布尔型 15

标志=对象类型 15

1.6 命令模式和命令参数 16

创建模式 16

编辑模式 17

查询模式 17

1.7 Python命令参考 17

总览 18

返回值 18

相关 18

标志 19

Python 示例 19

1.8 Python 版本 19

1.9 Python 在线文档 20

1.10 小结 20

第 2 章 Python 数据基础知识 21

2.1 变量和数据 22

MEL 中的变量 23

关键字 24

Python 的数据模型 24

2.2 结合使用变量和Maya 命令 27

捕获结果 28

getAttr 和setAttr 28

connectAttr 和disconnectAttr 29

2.3 使用数字 30

数字类型 30

基本运算符 31

2.4 使用布尔值 32

布尔运算符和位运算符 32

2.5 使用序列类型 33

运算符 33

字符串类型 36

格式化字符串 37

有关列表的更多内容 39

2.6 其他容器类型 41

集合 41

字典 42

2.7 小结 45

第 3 章 在Maya 中编写Python 程序 46

3.1 创建Python 函数 47

函数定义剖析 47

函数参数 48

返回值 53

3.2 Maya 命令 54

列出和选择节点 55

file 命令 56

添加属性 57

3.3 迭代和分支 58

for语句 59

分支 62

列表解析 70

while 语句 71

3.4 捕获错误 73

try、except、raise 和finally 73

3.5 设计实用的工具 76

3.6 小结 86

第 4 章 模块 87

4.1 什么是模块 88

4.2 模块与范围 88

模块封装和属性 89

_main_模块 90

4.3 创建模块 91

spike模块 92

默认属性和help() 93

包 95

4.4 导入模块 97

import 与reload() 的比较分析 97

as 关键字 98

from关键字 98

4.5 Python 路径 99

sys.path 99

临时添加路径 100

userSetup 脚本 101

sitecustomize 模块 103

设置PYTHONPATH 环境变量 105

4.6 使用Python IDE 109

下载IDE 109

基本IDE 配置 110

4.7 小结 112

第 5 章 Maya 中的面向对象编程 113

5.1 面向对象编程与过程式编程 114

在Python 中实现类的基础知识 115

实例化 115

5.2 属性 116

数据属性 117

方法 119

类属性 123

Human 类 125

5.3 继承 127

5.4 Maya 中的过程式编程与面向对象编程… 130

安装PyMEL 130

PyMEL 介绍 130

PyNodes 131

PyMEL 特性 131

优点和缺点 133

PyMEL 示例 133

5.5 小结 135

第 2 部分 使用Python 设计Maya 工具 137

第 6 章 Maya 工具设计原则 138

6.1 为用户设计的技巧 139

沟通和观察 139

准备、设置、规划 139

简化和培训 140

6.2 Maya 中的工具 141

选择 141

标记菜单 143

选项窗口 145

6.3 小结 146

第 7 章 使用Maya 命令创建基本工具 147

7.1 Maya 命令与Maya GUI 147

7.2 基本GUI 命令 149

窗口 149

7.3 构建窗口基类 150

菜单和菜单项 151

对GUI 对象执行命令 154

布局和控件 159

完整的AR_Optionswindow 类 166

7.4 扩展GUI 类 169

单选按钮组 170

框架布局和浮动字段组 171

颜色选取器 173

7.5 创建更高级的工具 174

姿势管理器窗口 175

将窗体与功能分开 176

使用cPickle 模块序列化数据 176

使用文件对话框 178

7.6 小结 181

第 8 章 使用Qt 设计高级图形用户界面 182

8.1 Qt 与Maya 182

固定窗口 183

8.2 安装Qt 工具 185

Qt SDK 186

8.3 Qt Designer 187

小组件 188

信号和插槽 188

Qt Designer 实践 189

8.4 将Qt GUI 加载到Maya 中 192

loadUI 命令 194

访问控件上的值 195

使用信号和插槽来映射小组件 196

8.5 PyQt 198

安装PyQt 198

在Maya 2011 及更高版本中使用PyQt 199

在更低的Maya 版本中使用PyQt 200

8.6 小结 201

第 3 部分 Maya Python API 基础知识 203

第 9 章 理解C++ 和API 文档 204

9.1 面向对象编程的高级主题 205

继承 206

虚拟函数和多态性 206

9.2 Maya API 的结构 207

Maya 的核心对象类MObject 简介 207

9.3 Python 与Maya API 通信的方式 209

9.4 如何查阅API文档 210

9.5 Python与C++ API 之间的重要区别 218

MString 和MStringArray 218

MStatus 218

Void* 指针 218

代理类和对象所有权 218

带参数的命令 218

撤销 219

MScriptUtil 219

9.6 小结 219

第 10 章 设计命令 220

10.1 加载脚本化插件 221

10.2 脚本化命令剖析 222

OpenMayaMPx 模块 223

命令类定义 223

doIt() 223

命令创建器 224

初始化和取消初始化 224

10.3 添加自定义语法 225

映射旋转顺序 228

类定义 229

语法创建器 230

语法的初始化 232

doIt() 233

doItQuery() 235

10.4 Maya 的撤销/ 重做机制 238

10.5 支持多种命令模式和撤销/ 重做 241

撤销和重做 241

命令模式 242

语法创建器 244

_init_() 方法 245

doIt() 246

redoIt() 250

undoIt() 251

10.6 小结 252

第 11 章 Maya 中的数据流 253

11.1 依存关系图 253

依存关系节点 254

连接 257

调试依存关系图 259

dgTimer 命令 261

11.2 有向无环图 262

DAG 路径和实例化 265

对拓节点 267

11.3 小结 270

第 12 章 设计依存关系节点 271

12.1 脚本化节点剖析 271

ar_averageDoubles 节点 272

节点类定义 273

节点创建器 274

节点初始化 274

compute() 275

初始化和取消初始化 277

12.2 属性和plug 278

属性的特性 279

可读、可写和可连接 279

可存储的属性和默认值 280

缓存的属性 280

使用数组 280

复合属性 286

12.3 小结 290

课课家教育

未登录