OSG学习笔记18 - 关于物体绕指定点旋转的问题(非坐标轴原点)

两种解决方案:

1、使用PAT节点,即PositionAttitudeTransform节点类中的,setPivotPoint(const Vec3d&)来设置旋转轴心或缩放轴心。这个是查到的方法,但实践没有成功,在调用这个setPivotPoint()方法时,模型总会发生位移,没有找出原因。

这里贴出一下osg forum里的相关内容,希望能有所帮助。

http://forum.openscenegraph.org/viewtopic.php?t=3721&view=previous

osg::Node* createRoom(osg::Node* loadedModel) // From osgLight example 
{ 
    // default scale for this model. 
    osg::BoundingSphere bs(osg::Vec3(0.0f,0.0f,0.0f),1.0f); 

    osg::Group* root = new osg::Group; 

    if (loadedModel) 
    { 
        const osg::BoundingSphere& loaded_bs = loadedModel->getBound(); 

        osg::PositionAttitudeTransform* pat = new osg::PositionAttitudeTransform(); 
        pat->setPi

你可能感兴趣的:(OSG学习)