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