新書推薦:
《
二十四节气生活美学
》
售價:NT$
340.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
夺回大脑 如何靠自己走出强迫
》
售價:NT$
299.0
《
图解机械工程入门
》
售價:NT$
440.0
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:NT$
450.0
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:NT$
345.0
《
希腊人(伊恩·莫里斯文明史系列)
》
售價:NT$
845.0
編輯推薦:
假设你正在Maya中为一个角色创建动画。在为此角色创建动画的过程中,你会发现自己在重复以下几个步骤。
1. 引用一个角色。
2. 导入一个动作捕捉动画。
3. 设置帧范围。
4. 引用背景场景。
5. 配置摄像机。
如果参与一个包含10到50名动画师的大型制作项目,这些简单的步骤可能会带来一些问题。如果分解此过程,可以发现许多适合引入工具的地方。
首先,动画师需要查找角色的正确路径。可以在任意给定时间更改此路径,所以让动画师任意选择此文件可能导致挑选了错误的文件。包含角色列表的简单工具可帮助快速、可靠地完成此任务。
接下来,你需要一个工具来对将运动捕捉数据正确地导入角色控件的过程进行组织和管理。在此过程中,此工具也可设置动画的帧范围并将摄像机移动到正确的位置。
引用正确的背景场景,动画师每次手动搜索正确的文件时,可能都要花一分钟。可创建另一个简单工具,显示可供选择的所有背景的列表。
你会看到这些工具能够节省时间,让文件选择更准确,而且让动画师能专心完成其创造性工作。创建这些工具的方式是使用Maya的一种内置脚本语言——具体来讲
內容簡介:
本书涵盖了与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 360SP3)的角色技术。他参与了大量获奖游戏制作,并且参与过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