本书是一本实用的、逐步引导的指南,它从最基本的知识开始,向读者展示了如何最大限度地利用Maya所带来的优势。本书主要内容包括:如何利用MEL控制Maya并将多种操作自动化;如何利用C++应用编程接口开发自己的自定义工具和功能。通过书中大量详尽的例子,读者能够很快就完全控制Maya的各个方面,并根据自己的需要将它扩展。
\r\n 本书既是Maya初学者的一本基本教程,又是有经验的开发人员的一本很好的参考书。
\r\n
\r\n
第1章 概述\r\n 1.1 Maya的可编程性\r\n 1.2 编程接口\r\n第2章 Maya基本概念\r\n 2.1 Maya体系结构\r\n 2.2 Dependency Graph\r\n第3章 MEL\r\n 3.1 概述\r\n 3.2 MEL编程语言\r\n 3.3 脚本\r\n 3.4 对象\r\n 3.5 动画\r\n 3.6 图形用房界面\r\n 3.7 表达式 \r\n第4章 C++API\r\n 4.1 简介\r\n 4.2 基本概念\r\n 4.3 开发插件\r\n 4.4 命令\r\n 4.5 节点\r\n 4.6 定位器\r\n 4.7 操纵器\r\n 4.8 变形器\r\n 4.9 高级C++API\r\n附录A 附加资源\r\n附录B C程序员与MEL\r\n附录C 补充阅读\r\n词汇表\r\n
David Gould在计算机图形行业已经有逾十年的经验,同时在程序设计和动画制作方面有很深的造诣。这种将技术和艺术才华集于一身的罕见能力为他带来了很多的奖项和荣誉。他曾在一项惊人的技术混合开发(包括为Pangolin开发的一种获奖的激光渲染系统)中分演着关键角色:他还开发用于控制Kuper运动控制装置以及Monkey停止运动Puppet的软件。他曾亲自开发出Illustrate这一市场领先的动画和技术图像渲染软件,该软件已得到NASA、英国航空、沃尔特·迪斯尼、索尼影视娱乐等公司的广泛使用。
David的职业生涯遍及各大洲的多家公司。在巴黎,他主持制作了多部三维立体科技影片,其中包括获奖影片“Inside the Cell”。在伦敦,他开发出一套已申请专利的面部动画系统。在纽约,他加入后期制作界,参与制作了许多出色的商业广告片,这些都进一步丰富了他的制作经验。
在位于洛杉矶的沃尔特·迪斯尼动画制作公司时,David开发出一种尖端的动画和建模技术,以用于他们的动画影片制作。后来他加入了位于伯克利市的Exluna,这是一家由包括Larry Gritz在内的前Pixar公司的渲染研究人员创立的软件公司。在这里,他在Entropy(一种兼容Renderman的演染软件)以及其他产品的设计和开发中扮演着重要角色。加入位于加利福尼亚州的圣克拉拉市的NVIDIA公司后,David通过协助设计未来的3D图形芯片而继续着他的渲染开发工作。此后他加入了位于新西兰的Weta Digital,参与《指环王》三部曲影片的动画制作。他在图像制作中从事着色器开发、灯光和CG特效等多项工作,这一切都展现了他全面的才华。
毫无疑问,Maya是一种创建计算机图形的非常强大的工具。然而,同时必须声明的是,它在功能方面的深度和广度也使它成为一个庞大的软件包,从而难于学习,更不用说掌握了。但是,打开这本书,你会发现一切是那么明了,这种感觉也许你从未有过。这就像是你站在山脚下,准备开始远程攀登时,惊喜地发现旅途会变得更轻松。Maya可以用你以前认为是绝不可能的方式进行定制和扩展。许多日常工作都能够实现自动化或大大简化。你可以创建工具,这样不仅可以提高工作效率,而且可以实现更好的控制。通过Maya编程,所有这些都可以实现。当然,还有更多。
对于很多人来说,只要提到编程就可能会感到害怕和厌烦。这是可以理解的,因为许多编程类书籍都将读者的编程经验假定在一个较高的层次。本书假设读者没有任何编程经验,并以此来打破只有专业程序员才能对Maya编程的神话。牢固掌握基本概念后,任何人都可以利用Maya为编程提供的各种控件开始编程。一度被视为畏途的旅程也会变成一次收获能力和信心的宝贵体验。
有了富于经验和耐心的向导,任何旅途都会变得更轻松。所以,本书的出发点不是单纯的说教,而是从最基本的地方逐步引导你理解Maya的原理。我们首先从Maya的核心开始探索,了解如何维护和处理数据。这些知识至关重要,因为它是Maya所有功能的基石。利用Maya最为简单的编程语言,MEL(Maya Embedded Language,Maya嵌入式语言),就可以开始学习如何控制Maya并将多种操作自动化。然后我们将介绍C++应用编程接口(APl)。有了对C++语言的基本了解,就可以快速学习如何开发自己的自定义工具和功能。通过对每个真实例子的详细介绍,你可以进一步了解如何使用和控制Maya的功能。而通过结合使用Maya和C++,你很快就能完全控制Maya的各个方面,并可以根据自己的需要将它扩展。
除了教你Maya编程的细节之外,本书还着重说明以某种特定方式来设计某物品的原因。通常,编程为解决某问题提供了无限的可能方法。但是,Maya有其特定的设计理念,理解这一点非常重要。本书介绍了一组设计程序的准则,以便你编写的程序能够在Maya内无缝集成和运行。理解了为什么要采用某种特定方法,你就能够按照其中蕴涵的基本思想来解决自己的问题了。在你学习完本书后,不仅仅灵感勃发想像出新的激动人心的一切可能事物,而且拥有必要的知识和技巧将其变为现实,这正是我的目标。