我尝试用OBJLoader加载3D模型,成功了。模型是用三维建模软件绘制的,用转换软件转换成.obj格式。因为模型是绝对定位的,所以显示模型总是有问题。
在这种情况下,如何在场景中间显示对象并使模型看起来正常?
你能给我一些帮助,试图让这个工作。谢谢!
我尝试用OBJLoader加载3D模型,成功了。模型是用三维建模软件绘制的,用转换软件转换成.obj格式。因为模型是绝对定位的,所以显示模型总是有问题。
在这种情况下,如何在场景中间显示对象并使模型看起来正常?
你能给我一些帮助,试图让这个工作。谢谢!
我会提出一些思路,但我不知道您所说的“显示模型总是有问题”和“使模型看起来正常”是什么意思。
在我对 Three.js 的(小)经验中,我偶然发现了两大类问题:
- 定位,即你最终得到不正确的坐标,比如太大/太小超出范围:为此,研究你的模型,计算并显示 Bounding Box 和/或 Bounding Sphere(尝试在浏览器的错误窗口中写入日志),并根据找到的值调整相机,
- 灯光,有时您会看到几乎不可见的黑底黑字显示:为此,从材质和灯光开始,环境为 {1,1,1},因此模型在黑色背景上清晰地显示为纯白色,然后细化材质和灯光以提供所需的效果。
现在不能多说,直到我更准确地知道你的问题是什么......
用于输出错误日志的小代码:
function log(msg) {
setTimeout(function() {
throw new Error(msg);
}, 0);
}
像这样使用:
log('Radius = ' + radius);