【发布时间】:2018-06-08 07:06:56
【问题描述】:
我正在开发一个 three.js 项目,用户可以将 .obj 模型上传到场景中。问题是我有两个不同大小的模型(一个缩放到毫米,另一个有任意比例)。当加载到 MeshLab 和 Blender 等 3D 模型程序中时,它们的大小非常明显不同,但它们在场景中显示的大小完全相同!
问:是什么原因导致这两个大小明显不同的模型加载到大小完全相同的三个.js 中?
Here is proof the objects are loaded and saved with different scale
这里是有问题的three.js项目:https://pcforge.tech/3d-viewer/
免责声明 - 这不是一种自我推销的尝试,因此请不要将其视为一种自我推销。我只是寻求帮助,因为我无法找出问题的原因。
编辑:经过一些研究,很明显 .OBJ 文件不保留跨软件平台的单位/比例数据,所以我计划允许用户在以下情况下设置自己的单位尺寸 (mm)上传模型,并在上传时将这些单位转换为 SI 单位。
【问题讨论】:
-
OBJ 没有任何单位设置,只有比例和比例将与加载它的软件解释的任何内容相关。不幸的是,允许用户在上传时设置 mm 无济于事,因为原始单位/比例是未知的。
-
嗯。所以没有办法取一个obj。将文件放入 three.js 并尝试使用 SI 单位测量(或分配)模型?对不起,我是新人:)
-
我本来打算添加评论,但我做了一个回答:)希望它提供一些意见。
标签: javascript three.js .obj objloader