Papervision3D Essentials
中文翻译
电子书更新日期:
2010年3月10日
原作者:
Paul Tondeur
Jeff Winder
原出版社:
Packt Publishing Ltd.
原书出版时间:
2009年9月
翻译者翻译者
1.Setting Up 准备
陆
2.Building Your First Application 构建你的第一个应用
风飘飘飘飘~~
3.Primitives 基本几何体
风飘飘飘飘~~
4.Materials 材质
kenjor
5.Cameras 摄像机
风飘飘飘飘~~
6.Moving Things Around 移动物体/物体运动(两个版本)
骜鹰傲,缺最后一节部分内容
风飘飘飘飘~~,完整版
7.Shading 着色
kenjor
8.External Models 外部模型
郝檬
9.Z-Sorting Z排序
夜梦
10.Particles 粒子
陆
11.Filters and Effects 滤镜和效果
sliz,1-5节
陆,5-10节
12.3D Vector Drawing and Text 3D矢量绘图和文本(未完)
月之魂
13.Optimizing Performance 性能的优化
老五
说明说明
《Papervision3D Essentials》是一本最新的Papervision3D入门书,对学习
Papervision3D很有帮助。以下是中文翻译,版权归原书作者和出版社所有,感谢他
们,感谢为大家付出时间和精力的翻译志愿者。每个翻译者是自己翻译的那部分内容
的负责人,包括权利和义务。感谢riabook.cn发布了活动公告,感谢9ria.com置顶了
翻译事项帖子,它们对翻译活动起了很大帮助。
因为是业余翻译,有人比较简化,加入了自己的理解,有人喜欢一一对应,直译每句
话,水平也各异,审核和排版方面也不够专业,有错漏不一之处,还请见谅。会英语
可以直接看原版英语书,翻译只做参考,这样可能更容易理解。
英语电子书下载地址:http://www.riabook.cn/en_book/papervision3d-
essentials.htm
书中源码下载地址:http://www.packtpub.com/files/code/5722_Code.zip
整合进电子书前的翻译见:http://flash.9ria.com/thread-37504-1-1.html
如果此地址无效,可以搜:Papervision3D Essentials 翻译
中文翻译电子书只是各章翻译的集合,没有经过专业审核,有不妥之处,还请见谅。
1 准备
如果你不知道从哪里开始,那么让一个开源项目如Papervision3D顺利运行可能会令你
生畏。在本章,我们将一步一步地经历准备开发环境的过程。你将学习如何下载,安
装,和配置你创建Papervision3D应用程序所需要的每件事。
本章覆盖如下内容:
• 下载Papervision3D的三种途径
• 配置你的创作工具,以使代码工作
• 运行一些例子
• 使用文档
当我们称Papervision3D为一个Flash平台开源3D引擎,“引擎”到底代表什么?
基本上,Papervision3D由一系列文件夹按照特定的结构组成。这些文件夹里有经过良
好架构的自定义ActionScript类,允许你在Flash里创建3D内容。没有类似.exe或.app
的文件可供下载。没有你能双击安装的文件。然而,通过下载这些文件夹以及在
ActionScript项目里包括进来,你能像访问Flash API或自己写的自定义类一样访问它
们。
例如,如果你熟悉ActionScript 3.0,你可能听过DisplayObject类。MovieClip,
Sprite,和Button都是显示对象类。类似这个类,Papervision3D库里有叫
DisplayObject3D的类,有它自己的变量,方法,和属性。因此,在下载和安装这些文
件夹后,你就能访问DisplayObject3D的变量,方法,和属性,就像你能在像
DisplayObject一样平常的内置类里访问这些一样。
为了说明,让我们比较基于FlashAPI的代码和使用Papervision3D库的代码。下面两行
可能看起来熟悉,因为它们实例化Flash的DisplayObject类并添加实例到舞台:
var myObject:DisplayObject = new DisplayObject();
stage.addChild(myObject);
现在,看一下如下两行,包含Papervision3D代码:
var myObject3D:DisplayObject3D = new DisplayObject3D();
scene3D.addChild(myObject3D);
这次,Papervision3D的DisplayObject3D类被实例化并添加实例到一个3D场景。你能
清楚地看到2D Flash代码和Papervision3D代码的类似之处。更多3D场景相关在第2章
讨论。Papervision3D API有很多方法和属性看起来像它们的2D对应者。像addChild()
和removeChild()等方法被添加到Papervision3D,为了尽可能近似Flash API及其显示
列表。
让我们看看如何下载Papervision3D类库,也即源代码。