3

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

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

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

请建议我完成我的目标。

4

2 回答 2

4

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

另一种常见的格式是 .3ds,以我的经验,这比它的价值要多得多。他们确实为 Java3D 制作了一个 .3ds 文件加载器,该页面可以在这里找到:

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

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

幻觉艺术:

搅拌机:

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

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

约翰

于 2013-02-14T21:42:57.983 回答
1

我假设您只是希望用户选择不同的纹理/颜色,对吧?

然后看看那里的 Java3D 教程,例如这个:http ://www.java3d.org/tutorial.html

我进一步猜想你的鞋子实际上是一个两部分的模型,即只有鞋底应该有另一种颜色,而其余的可能会有不同的纹理,对吧?

在这种情况下,您需要 2 个模型/形状,每个模型/形状都有自己的外观。然后,例如,根据需要更改鞋底外观,例如通过指定不同的材料或更改材料的颜色。

于 2013-02-14T13:00:53.580 回答