纳金网

标题: Away3D学习笔记-物体位置和移动 [打印本页]

作者: yeu1233    时间: 2012-9-4 15:57
标题: Away3D学习笔记-物体位置和移动

为了看清楚Away3D里物体的位置关系,首先来创建坐标系和三个平面。坐标系在Away3D里已经封装为Trident类,直接调用即可:






   
        
            
            1
            2
            
            
            
            var tri:Trident = new Trident(400, ***e);
            scene.addChild(tri);
            
            
        
   




创建参数第一个是坐标轴长度,第二个是要不要坐标轴字母。

再来三个坐标平面,这里使用GridPlane类效果比较好。






   
        
            
            1
            2
            3
            4
            5
            6
            7
            
            
            
            var p1:GridPlane = new GridPlane();
            p1.width = 800;
            p1.height = 800;
            p1.segmentsH = 2;
            p1.segmentsW = 2;
            p1.material = new WireframeMaterial(0xff0000);
            scene.addChild(p1);
            
            
        
   




通过旋转创建其他两个平面。

Away3D创建的几何体中心点都在其几何中心,如何要改变这个点,就需要使用movePivot方法,movePivot方法需要坐标参数,这个坐标是相对于几何体中心点的,也就是局部坐标。将一个100*100*100的立方体放到第一象限,则可以写:






   
        
            
            1
            
            
            
            cube.movePivot( -50, -50, -50);
            
            
        
   




随后物体的转轴也变到了中心点对应的三条坐标轴。

在实际应用中,控制物体位置常用moveForward,moveBackward等一系列函数,他们对应的移动方向分别是:
moveForward:向Z轴正向
moveBackward:向Z轴负向
moveLeft:向X轴负向
moveRight:向X轴正向
moveUp:向Y轴正向
moveDown:向Y轴负向
对应三个旋转函数:
pitch:绕X轴顺时针转
yaw:绕Y轴顺时针转
roll:绕Z轴顺时针转
这里说的顺时针,都是指从指定坐标轴的方向看过去的。由于上面9个函数也可以带负参数,所以其实只有6个函数,分别控制物体的6个自由度。
使用这些函数的好处就是,他们会随着物体位置自适应新的局部坐标系。





欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5