Skip to content

相机操作器

一个项目的基础是响应相机的移动旋转,RoyFrame提供了一个CamManipulator的类,其身上的主要方法是

  • grabBegin
  • grabUpdate
  • grabEnd

分别对应响应鼠标操作的mouseDown、mouseMove、mouseUp。CamManipulator的主要作用就是响应鼠标事件,并计算出一个Transform矩阵,赋值给挂有RoyCameraComponent的RoySceneNode。

具体来说,相机的操作方式有很多,目前plugin_cameractrl中实现了两个主流的操作方式:

  • CamManipulatorRoam: 漫游操作模式
  • CamManipulatorOrbit: 围绕中心点旋转模式(单品展示模式)

项目侧或插件侧可以实现更多的CamManipulator。

CamManipulator虽然可以直接响应鼠标事件,但更好的方式是与MESCameraCtrl鼠标策略响应配合,请参考鼠标事件响应一节。即有一个专门响应相机控制的鼠标事件响应器。