17

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

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

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

谢谢。

4

4 回答 4

12

通常,在搅拌机中制作模型时,您会以一种格式导出模型,该格式允许您稍后将其导入您选择的游戏引擎中,您使用的格式因要求而异。

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

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

  • OGRE3D(或Ogre4J)支持它自己的纯文本格式(.scene、.mesh.xml、.material.xml)以加载场景、模型和材质。它还支持骨架动画,还支持直接加载 .blend 文件。请参阅他们的 blender 文档
  • JmonkeyEngine支持直接加载 OGRE3D .scene 和 .blend。它也有它自己的二进制 j3o 格式,当你想打包游戏时可以将这些格式转换成这些格式。具体示例,请参见他们的教程

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

选择使用哪个是也不应该一成不变的,因为需求可能会发生变化,如果做得好,它不应该对项目产生相当大的影响。如果您正在编写自己的引擎,这也是您应该考虑的事情。

于 2012-01-26T08:53:11.127 回答
5

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

于 2011-01-16T02:47:26.340 回答
4

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

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

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

于 2010-08-20T16:47:19.443 回答
4

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

于 2016-01-05T11:54:16.737 回答