如何在Java中使用Blender模型?

真的只是一个普遍问题吗?

假设我正在制作游戏,并在Blender中制作了角色模型。 我如何在Java中使用此模型?

我会以某种方式导入它吗?

谢谢。

通常在混合器中制作模型时,您可以使用以下格式导出模型,以便稍后在您选择的游戏引擎中导入模型,您使用的格式与要求不同。

导出 – 导入周期通常被称为“资产管道”,您通常希望尽可能简单和自动化,因为这是您或您的艺术家将定期执行的操作。

因此,如果我们看一些特定的图形引擎和平台;

  • OGRE3D (或Ogre4J )支持它自己的纯文本格式(.scene,.mesh.xml,.material.xml),以便加载场景,模型和材料。 它还支持电枢动画等,还有一些支持直接加载.blend文件。 请参阅他们的搅拌机文档 。
  • JmonkeyEngine支持直接加载OGRE3D .scene和.blend。 它还有自己的二进制j3o格式,当你想打包游戏时,这些格式可以转换成。 有关具体示例, 请参阅其教程 。

在决定如何使用模型时,可以考虑多种格式。 然而,当它被导入时,选择的游戏引擎将其表示为内部结构,通常允许您与选择的确切格式分离。

由于要求可能会发生变化,所以使用的选择是不应该写在石头上,如果做得好,它不应该对项目产生相当大的影响。 如果您正在编写自己的引擎,这也是您应该考虑的事情。

Blender有输入/输出脚本可以帮助您。

例如,Blend2Java是一组用于Blender的Python脚本,它将导出到Java XML,可以使用标准的java.beans.XMLDecoder类进行解码。

在http://blend2java.sourceforge.net/blend2java-howto.html上有一个很好的概述如何做到这一点

这是一个更好的主意:使用现有的Java 3D库(我强烈建议使用dzzd )并使用库的内置函数加载模型。 然后,您可以实际显示数据,而不仅仅是处理数据。 从Blender,出口为3DS很简单。

另一个解决方案: Java .Blend为Blender文件中的所有数据提供了类型安全的Java API。 它甚至支持从Java中创建新的Blender文件;)