为了好玩,我用Python构建了一个渲染引擎。我需要加载3D场景。任何标准的现代格式,如DAE、3DS或MAX都可以工作:我可以轻松地在标准格式之间转换我的文件。
OpenSceneGraph似乎是最全面、维护最好的解决方案。如果能够在Python中使用它而没有太多麻烦,那将是理想的。是否有适用于OSG的Python绑定,这些绑定易于安装,可以在Mac (我使用的是10.8)上运行,并且可以与最新版本的OSG兼容?
我到处搜索,偶然发现了osgswig (http://code.google.com/p/osgswig/)和PyOSG (http://sourceforge.net/projects/pyosg/),但它们似乎没有得到积极的维护。我没有看到任何最近与这些包相关的活动,而且似乎人们在OSX上运行osgswig时遇到了问题。理想情况下,我希望找到一些“能正常工作”的东西,而不会有很大的编译麻烦。我只想安装一个软件包,并能够导入一个模块,使我能够加载COLLADA或3DS文件。
我还遇到了pycollada (https://github.com/pycollada/pycollada)。它看起来很活跃,但还处于早期阶段。理想情况下,我想要一个相当全面的包,支持镜面贴图、法线贴图和其他相当高级的功能。动画效果也不错。
总之,我需要在Python中加载3D场景。OSG的绑定可能是理想的,因为OSG是如此全面。但我需要在OSX上工作的东西。我也更喜欢一些可以合理轻松安装的东西。真的存在这样的东西吗?
谢谢!
发布于 2012-12-01 19:24:56
查看Open Asset Import Library (简称: Assimp)。它是一个可移植的开源库,可以以统一的方式导入各种知名的3D模型格式。http://www.assimp.org/
发布于 2012-11-28 17:31:52
你应该在panda3D (http://www.panda3d.org/)上大赚一笔,它是一个具有广泛python绑定的游戏引擎。它有你想要的功能:http://www.panda3d.org/manual/index.php/Features
我用了几年,它是一个可靠的工具。
发布于 2015-02-27 22:18:45
出于类似的目的,我为osgswig项目做了一个克隆的镜子的叉子。我已经让它在Windows和Mac的OpenSceneGraph版本3.2.1上运行了;我很可能最终也会在linux上改进它。我已经基于我的osgswig版本向客户交付了一个产品,我正在考虑制造其他产品。在这里找到我的fork:
https://github.com/cmbruns/osgswig
如果其他人表现出足够的兴趣,我可能会被说服为我的osgswig模块版本创建二进制安装程序,以使安装更容易。
如果你只想要OSG3.2.1最简单的OpenSceneGraph绑定,你可以在这里停止阅读这个答案。请继续阅读我对未来的更多想法。
虽然我在维护一个分叉的osgswig (如上所述),但我有点讨厌SWIG,而且我更喜欢使用基于Boost.Python的绑定,而不是SWIG。对于大型、复杂的APIs,比如OpenSceneGraph,无论对于C++使用者还是绑定维护者(我和我)来说,Boost.Python都要比SWIG优雅得多。我在https://code.google.com/p/osgboostpython/上发现了一个使用Boost.Python包装OSG的项目,但开发人员正在亲切地手工包装界面的每个部分,因此只完成了大型OpenSceneGraph API的一小部分。
受这个基于Boost.Python的项目的启发,我在https://github.com/JaneliaSciComp/osgpyplusplus创建了另一个OpenSceneGraph Python绑定项目。最后,我想使用这个osgpyplusplus项目来满足我的python osg的所有需求。如果能帮我做好准备,我将不胜感激。目前,与osgswig相比,osgpyplusplus存在以下弱点:
<代码>H112在这一点上,为osgpyplusplus创建一个二进制模块安装程序对我来说是一项很大的工作,所以请不要要求我这样做。
https://stackoverflow.com/questions/13601233
复制相似问题