在运行时改变3d模型

时间:2013-04-30 12:06:26

标签: java 3d rendering

我是3D模型的新手,我并不期待完全的回答,但任何提示,链接或方向对我都有好处。我在java工作,现在我必须使用3D模型。就像它一样,我将制作一个模型(使用XYZ软件)并定义它的一些部分,让我们说第1部分,第2部分。然后在运行时浏览器用户有一个下拉选择部分,然后他给出一些值,现在我想根据该部分的值(可能是长度,宽度等)更改3D模型,用户应该是能够在浏览器上看到它。 首先,是否有可能在运行时改变尺寸(我也可以做出一些限制)? 其次,任何提示,库或逻辑方向都将是很有帮助的。

我现在可以使用任何语言,任何软件,因为我即将从头开始。 如果我没有明确提出问题,请告诉我。

我能想到的一个解决方案是针对不同的可能性,我应该在后台有不同的模型,并加载那个尺寸与用户选择相匹配的模型。 或任何其他建议??

1 个答案:

答案 0 :(得分:1)

您的问题很不明确,因为您说您使用的是Java但可以使用任何语言......

我在这里假设您确实在使用Java。有几个可用于Java的库支持“渲染”3d对象。抽象级别取决于各个库/框架。

所谓的低级库的一些示例: Java 3D,(OpenGL包装器)lwjgl,JOGL。

一些更高级别的框架: JMonkeyEngine,Andor3D,Ogre4J。

我只列出了一些详尽的清单,不是SO的用途,我也不会因为同样的原因对它们进行比较。

如果你想编码资产的加载,它们如何渲染,它们如何在运行时存储,它们应该如何渲染,那么你可能会使用较低级别的资源。使用框架意味着您更少关心您使用的低级图形库,而不关心框架可以提供什么。

您的第二组问题确实涉及您在初始选择后只需要担心的细节。如果您有模型加载代码,那么您只需加载由事件触发的新模型。

编辑:只抓住你说在浏览器中运行,如果这是一个要求那么复杂化的事情。你可能需要走另一条路线,也许是WebGL和javascript,或者是three.js。

再次没有更具体的问题,不能真正给出更具体的答案。

编辑:每条评论的Reuest: 尽管从Web浏览器中逐步淘汰了闪存支持,但仍有几个库可用。 papervision,unity3d-web,远离3d。我已经完成了一个模拟可视化项目的小项目。这很容易使用,但对于我需要的性能并不好,但我再也不建议使用flash for 3d。那说它从那以后可能有所改善。