在三维中常见的就是漫游整个场景,所谓漫游就是:观察者的视线从一个位置移动到另外一个位置或者在希望的方向上移动。
在OSG中漫游可以通过改变观察者(相机)的位置和姿态来实现。三维世界中的模型的相对位置和形态不会发生变化,只是观察者的角度和位置发生了变化。
常见的漫游器设计是不会考虑观察者的物理变化的,只会观察视觉运动的正确性,使观察者平滑的移动到指定的位置和姿态。
设计漫游器的过程就是设置合适的相机位置和姿态的过程。
osg中的漫游器继承自osgGA::CameraManipulator。
几种常见的漫游器:
osgGA::AnimationPathManipulator - 根据指定的路径自动执行场景的漫游
osgGA::CameraViewSwitchManipulator - 可以切换相机视角的漫游器
osgGA::DriveManipulator - 模拟汽车驾驶的漫游方式
osgGA::FlightManipulator - 模拟飞机飞行的漫游方式
osgGA::SphericalManipulator - 模拟球面浏览的漫游方式
osgGA::TrackballManipulator - 常用的漫游方式,基于轨迹球理论进行设计
osgGA::UFOManipulator - 模拟UFO飞行漫游方式