<p>搅拌机+Java:</p>
<p>好吧,如果你说的是创建一个场景然后加载.blend文件,那不是一个好方法。您可能希望将级别/字符等导出为其他内容。我以前用过openGL和java。我建议导出为collada(.dae文件)。Collada文件是基于xml的(使用DOM或SAX很容易解析),并且不携带gl无法使用的任何额外的blender数据。Collada文件支持动画帧、骨骼结构、光源、材质、纹理、颜色、法线和顶点。同样,由于它们是基于XML的文件,因此很容易用文本编辑器打开它们并研究文件类型。由于java的库中已经有XML解析器,所以这种文件类型易于使用和读取。It数据几乎可以立即转储到BufferObject或立即呈现模式。在</p>
<p>Fbx是另一种支持blender所有元素的文件类型。这种类型的问题是它同时具有二进制和文本格式。结构有点变化,因此很难找到描述二进制文件格式的资源。而且,它是一种受版权保护的文件类型。在</p>
<p>Obj文件是最容易阅读和使用的。但是,它们将纹理/材质数据存储在单独的外部文件中。而且,它们根本不支持动画。正因为如此,他们是一个糟糕的选择有很多原因。但是,如果您有一个静态对象(一个框或一个无生命的树),这个文件类型可能适合您。在</p>
<p>正如我前面提到的,如果没有一个双方都容易阅读的文件类型,很难直接将blender和java混合在一起。在</p>
<p>Java+Python:</p>
<p>这有点棘手。我认为Jython是个好的开始。Python可以与脚本类似地使用,至少在与引擎一起使用时是这样。如何选择实现它完全取决于你自己。在</p>
<p>就我个人而言,我发现用预先生成的java命令创建游戏机更容易。我有一些简单的文本文件,可以调用控制台的命令来编写脚本。这些脚本可以定义诸如ai移动和资源加载之类的东西。在</p>
<p>我很难找到一组强有力的理由来将类似脚本的引擎(很可能是用python编写的代码)集成到游戏引擎中。我承认这并不是我在发动机开发方面做过很多工作。我觉得不管怎样,它都只是调用java类的命令(或方法)。也许有人可以为我们俩澄清python在游戏引擎中更强大的用途。在</p>
<p>最后,我推荐javaScript而不是python。Python是因为它的流行性而使用的,因为大多数引擎都是用C++或C语言编码的。与java不同,这些语言没有脚本“小兄弟”。如果您打算让它成为一个真正的java引擎,那么使用JS作为您选择的脚本语言会更加容易,因为使用它的库已经与JDK打包在一起了。在</p>
<p>希望这对你有帮助。在</p>