3d建模加载,更新和在java中呈现

时间:2013-02-13 14:55:18

标签: java jogl java-3d

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

所以我问所有的3D专家我应该如何继续完成我的目标? 我应该将哪些输入加载到我的程序中? 如何更新加载的模型,渲染它并向最终用户显示更新的模型?

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

请告诉我完成目标。

2 个答案:

答案 0 :(得分:4)

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

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

我的建议是使用.obj文件格式,使用起来要容易得多。您也可以为它创建自己的解析器,它不像听起来那么难。通过这种方式,您可以准确了解对象如何加载到环境中。 Java确实附带了它自己的解析器,有关如何使用它的说明在这里:

我在使用Blender导出的文件时遇到了很多问题,不幸的是,他们可能已经修复了问题,但我不确定。当我以前做过更多的3D东西时,我只使用了Art of Illusion,甚至知道Blender更强大。 Blender可以在Mac上运行,但在适当设置的Windows上更平滑。祝好运!如果您需要一些示例代码,请告诉我,我非常乐意为您发布一些代码。

幻觉的艺术:

Blender:

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

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

约翰

答案 1 :(得分:1)

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

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

我进一步猜测你的鞋子实际上是一个两件式的模型,即鞋底应该得到另一种颜色,而其余的可能会得到不同的质地,对吗?

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