http://sjkgxf7191. iteye.com/blog/513408
目录
Flash Player 10' s new 3D effects 一
Flash Player 10' s new 3D effects 二
Flash Player 10' s new 3D effects 三
参考资料
Adobe ActionScript 3.0 Programming第二十三章在三维环境中工作
AdvancED_ActionScript 3.0第七章3D IN FLASH 10
3D基础知识
ActionScript中的3D简介
如果将某个显示对象的Z属性显示设置为数值 则该对象会自动创建一个3D转换矩阵 。您可以通过更改此矩阵来修改该对象的3D转换设置
重要术语和概念
透视 在2D平面上将平行线表示成聚合于一个消失点从而获得深度和距离的视觉效果投影为多维对象生成2D图像 3D投影将3D点映射到2D平面
旋转通过按圆周运动的方向移动对象内的每个点来更改对象的方向通常也会更改其位置转换通过平移、旋转、缩放、倾斜或这些操作的组合来更改3D点或点集
平移通过将对象内的每个点往同一方向移动相同的距离来更改对象的位置
消失点 在用线性透视法表示时逐渐远离的平行线看似相交的点
Java代码
// 设置显示元素的中心为消失点就可以像下面这样
. transform .perspectiveProjection .projectionCenter =new Point(stage. stageWidth / 2, stage. stageHeight / 2) ;
矢量 3D矢量使用笛卡尔坐标x、 y和z表示三维空间中的点或位置
顶点转角点
纹理式网格 在3D空间中用于定义对象的任意点
UV映射 将纹理或位图应用于3D表面的一种方式。 UV映射将值分配给图像上的坐标以水平(U)轴和垂直(V)轴的百分比值形式表示。
T值 当对象靠近或远离当前视点时用于确定3D对象大小的缩放系数
剔除 呈现或不呈现具有特定缠绕方式的表面。通过使用剔除您可以隐藏对当前视点不可见的表面
弧度和角度之间的转换公式
Flash 10 3D旋转的角度是度数 而不是弧度radians = degrees * PI / 180degrees = radians * 180 / PI
了解Flash Player和AIR运行时的3D功能
以下ActionScript类支持与 3D相关的新功能 flash.display.DisplayObject 类包含z属性和新的旋转和缩放属性这些属性用于操作3D空间中的显示对象。DisplayObject. local3DToGlobal ()方法提供了一种将 3D几何图形投影到2D平面 的简单方式 。
Java代码
// 屏幕坐标系和3D坐标系
// 将_sprite的(200, 0, 0)的那个点三维点转换成一个二维点
// 可以知道何时一个3D物体移出屏幕这对判断一个对象是否仍然在屏幕上是很有用的var p:Point = _sprite. local3DToGlobal (new Vector3D(200, 0, 0) ) ;
// 二维坐标 转换成 三维坐标
var p:Vector3D = _sprite.globalToLocal3D(new Point(mouseX, mouseY) ) ;
// pointAt 方法接收一个 Vector3D 对象作为指向的目标这边设成了鼠标光标
_sprite. transform.matrix3D.pointAt(new Vector3D(mouseX, mouseY, 0)) ;flash.geom.Vector3D 类可用作管理3D点 的数据结构 。该类还支持矢量数学运算。flash.geom.Matrix3D 类支持复杂的3D几何转换 例如旋转、缩放和平移。flash.geom.PerspectiveProjection 类控制着将 3D几何图形映射到2D视图 的相关参数 。
在ActionScript中有两种不同的模拟3D图像的方式
在 3D空间 中排列平面对象并进行动画处理 。这种方式需要使用显示对象的x、y和z属性来对显示对象进行动画处理或者使用DisplayObject类设置旋转和缩放属性。使用DisplayObject. transform.matrix3D 对象可以实现更为复杂的运动 。DisplayObject. transform.perspectiveProjection 对象可自定义显示对象在3D透视中的绘制方式 。如果需要对主要包含平面的3D对象进行动画处理可以使用这种方式。这种方式的例子包括3D图库或者3D空间中排列的2D动画对象。
从 3D几何图形生成2D三角形 然后用纹理呈现这些三角形。要使用这种方式必须首先定义和管理有关3D对象的数据然后将这些数据转换成 要呈现的 2D三角形 。可以将位图纹理映射到这些三角形然后使用Graphics.drawTriangles ()方法将三角形绘制为图形对象。这种方式的例子包括从文件中加载3D模型数据 并将模型呈现到屏幕上或以三角形网格形式生成和绘制3D图形。
imidc对日本独立服务器在搞特别促销,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制流量。注意,本次促销只有一个链接,有2个不同的优惠码,你用不同的优惠码就对应着不同的配置,价格也不一样。88美元的机器,下单后默认不管就给512G SSD,要指定用HDD那就发工单,如果需要多加一个/28(13个)IPv4,每个月32美元...官方网站:https:...
licloud官方消息:当前对香港机房的接近100台物理机(香港服务器)进行打折处理,30Mbps带宽,低至不到40美元/月,速度快,性价比高,跑绝大多数项目都是绰绰有余了。该款香港服务器自带启动、关闭、一键重装功能,正常工作日内30~60分钟交货(不包括非工作日)。 官方网站:https://licloud.io 特价香港物理服务器 CPU:e3-1230v2(4核心、8线程、3.3GH...
ReadyDedis是一家2018年成立的国外VPS商家,由印度人开设,主要提供VPS和独立服务器租用等,可选数据中心包括美国洛杉矶、西雅图、亚特兰大、纽约、拉斯维加斯、杰克逊维尔、印度和德国等。目前,商家针对全部VPS主机提供新年5折优惠码,优惠后最低套餐1GB内存每月仅需2美元起,所有VPS均为1Gbps端口不限流量方式。下面列出几款主机配置信息。CPU:1core内存:1GB硬盘:25GB ...