java - 在 java 中加载、更新和渲染 3d 建模

标签 java jogl java-3d

我是 Java 3d 的新手。我遇到过这样的情况,我想在我的 java 程序中加载在 3d 建模软件(如 3d studio max 或 Maya)中开发的任何对象的现成开发 3d 模型 [例如鞋],更新其纹理或颜色属性等。然后渲染它,然后向最终用户显示更新后的模型。

所以我问所有 3d 专家我应该如何继续前进以实现我的目标? 我应该将哪个输入加载到我的程序中? 我如何更新加载的模型、渲染它并将更新后的模型显示给最终用户?

在简单的故事中,我想让我的用户能够通过他们的交互修改 3d 模型, 他们提供了鞋的 3d 模型,例如默认颜色和纹理以及鞋底颜色等一些字段,如果他们选择红色,则加载的 3d 模型的鞋底为红色(即更新),然后使用红色橡胶鞋底鞋显示给最终用户而不是默认颜色鞋。

请建议我实现我的目标。

最佳答案

好的,首先,复杂的对象通常是使用一些 3D 编辑软件创建的,例如 Blender 或 Art of Illusion。这些程序可以将对象输出为多种不同的文件格式,最常见的是 .obj 文件格式:

另一种常见格式是 .3ds,根据我的经验,它的工作量远远超过它的值(value)。他们确实为 Java3D 制作了一个 .3ds 文件加载器,页面可以在这里找到:

我的建议是只使用 .obj 文件格式,它更容易使用。您也可以为它制作自己的解析器,这并不像听起来那么难。这样您就可以确切地知道您的对象是如何加载到环境中的。 Java 确实带有它自己的解析器,关于如何使用它的说明在这里:

不幸的是,在使用这种文件格式时,我在使用 Blender 导出文件时遇到了很多麻烦,他们现在可能已经解决了这个问题,但我不确定。当我以前做更多 3D 的东西时,我只使用 Art of Illusion,甚至知道 Blender 更强大。 Blender 可以在 Mac 上运行,但在正确设置的情况下在 Windows 上会更流畅。祝你好运!如果您需要一些示例代码,请告诉我,我非常乐意为您发布一些示例代码。

幻觉艺术:

搅拌器:

我不确定您希望用户如何更改对象。如果您希望他们能够更改颜色、鞋子类型或诸如此类的东西,那也没什么大不了的。如果您希望用户能够更改花边长度或更改实际对象结构的某些内容,则需要深入了解 3D 结构。如果要更改颜色,只需更改 Material 即可。如果你想改变鞋子的类型,只需加载一个不同的鞋子对象。我希望这对您有所帮助。

在评论中,您还谈到了纹理贴图,根据我的经验,这在 Blender 中比在 Art of Illusion 中更容易做到。我可能会使用 blender 来完成这个:

约翰

关于java - 在 java 中加载、更新和渲染 3d 建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856328/

相关文章:

java - 在 JOGL 中进行翻译后无法按预期使用 glLoadIdentity

java - 如何在没有 -D 键的情况下使用 JOGL 应用程序运行 jar?

Java 3D 内存泄漏

java - 如何使用OpenCL put3DRangeKernel?

java - Install4j:如何使用时间戳启用日志记录

java - 首先转义 = 属性文件的映射 (ATG/Java)

java - 集群中servlet之间的 session 数据

java - 使用字符串选项优化 if-else/switch-case

java - OpenGL 中的厚贝塞尔曲线

Java3D : Problem with order of objects that have a transparent PNG texture