[英]Is there a GDAL driver for the OpenSceneGraph osg \ ive format(s)?
[英]How do I rotate/translate existing OpenSceneGraph (OSG) nodes from a loaded .ive model tree?
我在.ive中有一个给定的模型,问题是我试图从整个树模型(存在于.ive文件中)中旋转一个节点。 那可能吗? 我怎样才能做到这一点?
当然可以。
您首先必须找到要操作的节点。 通过创建osg :: NodeVisitor的子类,并使用它遍历图,直到找到要操作的节点,您应该能够做到这一点。 如果为节点指定了名称,则可以很容易找到所需的名称。 如果不是这样,则必须弄清楚该节点的其他一些独特特性,或者只是拉出某种类型的所有节点,然后一次尝试一个。
然后,一旦有了它,就可以保存一个指针并直接对其进行操作。
参见教程:
https://www.movesinstitute.org/Sullivan/OSGTutorials/osgDOF.html
和
https://www.movesinstitute.org/Sullivan/OSGTutorials/osgUpdate.htm
您将必须找到与模型的该子部分相对应的节点。 为此,您将需要标识该节点唯一的内容(希望它具有名称或其他内容)。
拥有该节点后,您可能需要将其从主树上断开,添加某种Transform(可能是PositionAttitudeTransform),然后将您的节点重新添加为PAT的子代。
然后,您可以修改PAT中的旋转角度。
您可以使用诸如“查找命名节点”访问者之类的访问者来找到所需的节点。
考虑将.ive文件转换为.osgt或.osg,以便查看文件中的结构(并希望有节点名)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.