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图形。
hosthatch在做美国独立日促销,可能你会说这操作是不是晚了一个月?对,为了准备资源等,他们拖延到现在才有空,这次是针对自己全球14个数据中心的VPS。提前示警:各个数据中心的网络没有一个是针对中国直连的,都会绕道而且ping值比较高,想买的考虑清楚再说!官方网站:https://hosthatch.com所有VPS都基于KVM虚拟,支持PayPal在内的多种付款方式!芝加哥(大硬盘)VPS5...
昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...
npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...