我是Java 3d的新手。我遇到了类似的情况,我想在Java程序中加载在3d建模软件(如3d studio
max或Maya)中开发的任何对象的现成3d模型(例如鞋),然后更新其纹理或颜色属性等。渲染它,然后将更新的模型显示给最终用户。
所以我问所有3D专家,我应该如何继续前进才能实现自己的目标?我应该在程序中加载哪个输入?我如何更新加载的模型,进行渲染并向最终用户显示更新的模型?
简单来说,我想让我的用户能够通过交互来修改3d模型,例如,他们提供了鞋的3d模型,例如默认颜色和纹理以及某些字段(例如鞋底颜色),如果他们选择红色,则选择加载的3d模型的鞋底被染成红色(即更新),然后以红色橡胶鞋底代替默认颜色的鞋底显示给最终用户。
请给我建议以实现自己的目标。
好吧,首先,通常使用某些3D编辑软件(例如Blender或Art of
Illusion)创建复杂的对象。这些程序可以将对象输出为几种不同的文件格式,最常见的是.obj文件格式:
另一种常见格式是.3ds,以我的经验,这比它值得的工作要多得多。他们确实为Java3D制作了.3ds文件加载器,可以在以下页面找到该页面:
我的建议是仅使用.obj文件格式,使用起来容易得多。您也可以为此创建自己的解析器,它听起来并不困难。这样,您可以确切地知道如何将对象加载到环境中。Java确实带有它自己的解析器,有关如何使用它的说明在这里:
不幸的是,使用Blender导出的文件在使用这种文件格式时遇到了很多麻烦,到目前为止,它们可能已解决了问题,但我不确定。当我过去做很多3D东西时,我只是使用了幻觉艺术,甚至知道Blender的功能要强大得多。Blender可以在Mac上运行,但通过正确的设置在Windows上可以流畅得多。祝好运!如果您需要一些示例代码,请告诉我,我很乐意为您发布一些示例代码。
幻术:
http://www.artofillusion.org
http://www.artofillusion.org/documentation#
搅拌机:
http://www.blender.org
http://www.blender.org/education-help/tutorials/
我不确定您希望用户如何更改对象。如果您希望他们能够改变颜色,鞋子的类型或其他,那不是什么大不了的事情。如果希望用户能够更改鞋带长度或要更改实际对象结构的位置,则需要深入了解3D结构。如果要更改颜色,只需更改材料。如果您希望能够更改鞋子的类型,只需加载其他鞋子对象。希望对您有帮助。
在评论中,您还谈到了纹理贴图,以我的经验,在Blender中比在“幻术”中更容易做。我可能会使用Blender完成此操作:
约翰
注意:在 Photoshop CS6 中,3D 功能是 Photoshop Extended 的一部分。Photoshop Extended 中的所有功能是 Photoshop 的一部分。Photoshop 不提供单独的 Extended 版本。 更改 3D 渲染设置 渲染设置决定如何绘制 3D 模型。Photoshop 会安装许多带有常见设置的预设。自定设置以创建自己的预设。 注意:渲染设置是图
问题内容: 我想动态显示我的CPU使用率。我不想重新加载页面以查看新值。我知道如何在Python中获得CPU使用率。现在,我使用该值渲染一个模板。如何使用Flask中的值连续更新页面? 问题答案: 使用Ajax请求 使用Websockets 使用Flask-Websockets使我的生活更加轻松。这是启动器: 请注意,我没有使用socket.io之类的东西,这就是代码很长的原因。此代码还尝试定期重
通过 runApp 方法运行的 Web 应用,可通过 rax-pwa 提供的 preload 和 prerender 方法优化用户体验。 $npm i rax-pwa --save 预加载 预加载资源可以帮助页面更快速的渲染。 可通过 preload 来进行预加载。仅对 Web App 有效。 import { createElement } from 'rax'; import { preloa
目前,3D模型的格式有成千上万种可供选择,但每一种格式都具有不同的目的、用途以及复杂性。 虽然 three.js已经提供了多种导入工具, 但是选择正确的文件格式以及工作流程将可以节省很多时间,以及避免遭受很多挫折。某些格式难以使用,或者实时体验效率低下,或者目前尚未得到完全支持。 对大多数用户,本指南向你推荐了一个工作流程,并向你提供了一些当没有达到预期效果时的建议。 在开始之前 如果你是第一次运
问题内容: 我有一个视图模型,其中包含其他对象的集合。 在我的一种视图中,我传入ParentViewModel作为模型,然后使用 其中显示Id和Name属性的表单。 当用户单击一个按钮时,我通过Ajax调用一个操作以加载带有Child集合的局部视图: 然后使用自定义模板Child来显示每个传入的Child的表单。 我遇到的问题是,Child自定义模板创建的表单未使用DefaultModelBind
问题内容: 我正在辩论应该如何学习。主要是,如果我从数据库中获取大量信息以将其加载到页面上,那么最好的方式是操纵页面而不需要重新加载。使用XML之类的东西是最好的选择,还是我应该使用的其他东西。我知道其中很多使用HTML Dom和XML Dom,但是我不想开始学习我不需要的东西。 问题答案: 您正在寻找的技术名称是AJAX,它代表异步Javascript和XML(尽管目前大多数AJAX使用JSON