camera对象:
zoom值越大显示的3D对象越大 fov越大,显示的3D对象越小。focus越大,显示的3D对象越大 。
减小zoom或者focus的值,就会使视场角fov增大
增大视场角fov会使focus的值减小,但不会改变zoom的值
near与far属性
camera.near 和camera.focus是一样的
camera.far 指的是远处的plane
camera.far=1500
假如设置 camera.useCulling=true;
则camera里只有在照相机与 far plane之间的棱形区域才能被看见,超过far plane区域的图像看不到。
有四种camera
Target
Free
Debug
Spring
Spring camera的作用是跟踪3D对象 。
BasicView(viewportWidth:Number = 640, viewportHeight:Number = 480, scaleToStage:Boolean = true, interactive:Boolean = false, cameraType:String = "Target")
可以调用父类改变camera类型:
super(stage.stageWidth,stage.stageHeight,true,false,CameraType.TARGET);
四种类型:
import org.papervision3d.cameras.CameraType;
CameraType.TARGET
CameraType.FREE
CameraType.DEBUG
CameraType.SPRING
target camera:
当为targetcamera时 我们需要设置它的target
camera.target=mytarget (某个3D对象)
当你不设置该属性时,默认的,系统通过DisplayObject3D.ZERO自动创建一个位于(0,0,0)的空的3d对象
最终导致camera始终朝着(0,0,0);绕(0,0,0);旋转
free camera
free camera的行为和targe camera相似 。只是它没有target free camers看的方向是沿着Z轴。只沿着这条直线移动。
一旦为target camera设置了target ,camera 就能旋转,直到能看到目标3d
free camera沿一条线运动,不能转动 target只能转动,不能平动。
free camera 和target camera之间的切换 :
free camera没有target 因此target camera切换为free camera 只需要:
camera.target=null ;
free camera 转化为target camera只需要 设置target就可以了 。
debug camera主要用于调试!有鼠标和keyboaerd的交互。