tuo-scene对摄像头的重新封装TuoCamera

一般的3d渲染引擎只关注摄像头比较基本和纯粹的物理参数,在实用时稍显得有些麻烦。tuo-scene工程考虑到多个应用案例,对摄像头进行的重新封装。封装后的TuoCamera主要有以下特点:

  1. 支持更方便的镜头切换,一个TuoCamera对象支持切换摄像头类型“Perspective|Orthographic”,在切换时因为替换调了底层摄像头,而触发底层摄像头发布的dispose事件的发布。(这里要注意,发布dispose消息的是底层的camera,如果有动画依赖需要监听依赖的,需要监听底层camera的依赖)
  2. 重新定义了camera的位姿基本元素,由camera的position,target和up来定义。这里的up指的是摄像头的上方,target指的是镜头对准的目标,position为镜头的位置。其中,若无特殊指定,up的绝大多数情况都由y方向(0,1,0)和position与target来计算精确值,特殊情况,例如position和target正好与y方向平行时,则以z或者-z方向来确定up的精确值。如果有特殊指定,则按特殊指定方向和position与target的值来确定up的精确值。

其中,采用2的方式来定义基本元素后,如需自动调整镜头,可以通过调整target和position为主,特殊情况下,可以指定up的模糊方向来确定up的精确方向。这样带来的好处是,可以比较无缝的在自动与手动控制镜头之间切换。因为像trackball和orbit之类的手动控制镜头的插件,都需要有一个target来配合。

发表评论

邮箱地址不会被公开。 必填项已用*标注