osgGA::AnimationPathManipulator を使用して、osgViewer::Viewer インスタンスのカメラに osg::AnimationPath を適用しようとしています。私の問題は、 AnimationPathManipulator が回転の変更のみを適用し、カメラの位置の変更を適用しないことです。したがって、回転するだけで平行移動はしません。
OpenSceneGraph Library 3.0.1 を使用しています。
より良い洞察のために、これは私の現在のコードです:
void CameraFlyTest::animateCamera(osgViewer::Viewer* viewer) {
osg::AnimationPath* path = new osg::AnimationPath();
path->setLoopMode(osg::AnimationPath::SWING);
osg::AnimationPath::ControlPoint cp1;
cp1.setPosition(osg::Vec3d(-200,-450,60));
cp1.setRotation(osg::Quat(M_PI_2, osg::Vec3(1,0,0)));
osg::AnimationPath::ControlPoint cp2;
cp2.setPosition(osg::Vec3d(2000,-500,60));
cp2.setRotation(osg::Quat(M_PI_4, osg::Vec3(1,0,0)));
path->insert(1.0f,cp1);
path->insert(3.0f,cp2);
osgGA::AnimationPathManipulator* apm = new osgGA::AnimationPathManipulator(path);
viewer->setCameraManipulator(apm);
}