例子测试略 !
View3D :
View3D 继承于Sprite 。 scene camera 是该类的属性 view.camera view.scence 。故只要创建view3D实例,camera 和scence就自动创建了
它也自动定义了3D对象的中心透视点persperctive point 也就是消失点vanishing point !由于Viewport3D继承于Sprite 它默认的透视点vanishing point 在view3D的左上角,也就是注册点 ,而我们常需要透视点在舞台中心!因而将view3D的坐标移到舞台中央
View3D.x= stage.stageWidth/2
View3D.y=stage.stageHeight/2
Camera3D
Camera3D继承于Object3D
Scence3D
假如不创建Scence3D view.scence就会自动将建一个
你也可以创建Scence3D
var scence1:Scence3D= new Scence3D()
var scence2:Scence3D= new Scence3D()
可以创建多个场景 以实现场景的切换
View.scence= scence2
Trident X Y坐标箭头
var trident : Trident = new Trident(200, true);//X Y 坐标轴箭头 对象 第一个参数表示箭头的长度 第二个参数表示是否显示 x y字母
Clipping
Clipping 相关的类在包away3d.core.clip 中
默认的clipping是通过view3d的创建来自动创建的!也就是说clipping是 view的属性 view.clipping
View3d 实例(视口viewport )的边界是通过minX, maxX, minY, and maxY 控制的.如: minX, maxX, minY, and maxY值的设置是 以view3d为原点进行设置的 (当透视点在舞台中心时,是以舞台中央为原点设置)
_view.clipping.minX = -100;//view3d原点向左100
_view.clipping.maxX = 100;
_view.clipping.minY = -100;
_view.clipping.maxY = 100;
上面设置后的结果是 以view3d中心左右100像素内的对象可见,超过这个范围内的对象不会被渲染,也就不可见
View的默认的的Clipping 是RectangleClipping , 通过minX, maxX, minY, and maxY 来控制实现裁剪定位! 这也使我们用舞台宽高 来设置为其边界(因为只有舞台有限宽高内上的东西才能看见)
我们也可以这样设置 Clipping :
var clipping:RectangleClipping = new RectangleClipping();
clipping.minX = -100;
clipping.maxX = 100;
clipping.minY = -100;
clipping.maxY = 100;
//将其付给view3d实例
_view.clipping = clipping
、
相似的,我们也可以设置其他的 Clipping 类 用法一样
Managing the scene 场景的控制