Skip to content
目录

摄像机

摄像机,如同大家拍照时使用的相机,用来确定观察3D场景的视角。在 GlowJS 中,app 对象有一个专门的相机管理器对象 cameraMgr ,它是 CameraMgr 类型。摄像机包含两个重要的位置参数:镜头位置 position 和被拍摄物体的位置 target (又叫目标点或者看点)。

摄像机

自适应观察

自适应观察可以将需要观察的 实体 在相机中聚焦显示,比如层级、物体等。自适应观察需要调用 fit 方法。层级切换完成后,会自行调用 fit 方法,将当前层级显示到相机中央。

当调用 fit 方法后,会优先使用实体对象的视角数据 viewInfo 来聚焦实体。 viewInfo 需要手动设置,默认为 null 。当实体未设置视角数据时,系统将自动计算一个最佳观察视角。你可以通过 postitontarget 属性来获取当前相机的视角数据,也可以调用 log 方法。

typescript
app.cameraMgr.fit(entity);

飞行

飞行是指摄像机从当前视角通过动画方式切换到目标视角。飞行的方法是 flyTofit 内部也是调用的 flyTo

typescript
app.cameraMgr.flyTo([0,70,70], [0,0,0]);

自动旋转

我们经常需要实现这样一个功能,当没有用户操作一段时间后,希望场景自动旋转起来,此时就可以使用摄像机的自动旋转功能。自动旋转通过属性 autoRotate 来控制,它是 AutoRotate 类型。自动旋转默认是关闭的,需要手动开启。你还可以设置空闲等待时间 timeout

typescript
app.cameraMgr.autoRotate.enable = true;
app.cameraMgr.autoRotate.timeout = 120000;

切换2D/3D模式

切换到2D模式(正交模式),使用 toOrthographic 方法;切换到3D模式(透视模式),使用 toPerspective 方法。

typescript
app.cameraMgr.toOrthographic(); //切换到2D模式
app.cameraMgr.toPerspective(); //切换到3D模式

技术支持:13352865103(柯工,微信同号);18688783852(柯工)