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图形。
beervm是一家国人商家,主要提供国内KVM VPS,有河南移动、广州移动等。现在预售湖南长沙联通vds,性价比高。湖南长沙vps(长沙vds),1GB内存/7GB SSD空间/10TB流量/1Gbps端口/独立IP/KVM,350元/月,有需要的可以关注一下。Beervm长沙联通vps套餐:长沙联通1G青春版(预售)长沙联通3G标准版(预售)长沙联通3G(预售)vCPU:1vCPU:2vCPU...
前天,还有在"Hostodo商家提供两款大流量美国VPS主机 可选拉斯维加斯和迈阿密"文章中提到有提供两款流量较大的套餐,这里今天看到有发布四款庆祝独立日的七月份的活动,最低年付VPS主机13.99美元,如果有需要年付便宜VPS主机的可以选择商家。目前,Hostodo机房可选拉斯维加斯和迈阿密两个数据中心,且都是基于KVM虚拟+NVMe整列,年付送DirectAdmin授权,需要发工单申请。(如何...
桔子数据(徐州铭联信息科技有限公司)成立于2020年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。 公司一直秉承”以人为本、客户为尊、永...