Three.js js:在场景中间显示对象
我尝试用OBJLoader加载三维模型,成功了。模型用三维建模软件绘制,并用转换软件转换成.obj格式。由于模型是绝对定位的,因此显示模型时始终存在问题Three.js js:在场景中间显示对象,three.js,Three.js,我尝试用OBJLoader加载三维模型,成功了。模型用三维建模软件绘制,并用转换软件转换成.obj格式。由于模型是绝对定位的,因此显示模型时始终存在问题 在这种情况下,如何在场景中间显示对象并使模型看起来正常?< /P> 你能帮我把这件事做好吗。谢谢 我想提出一些想法,但我不知道你所说的“显示模型总是有问题”和“使模型看起来正常”到底是什么意思 在我对Three.js的(小)体验中,我偶然发现了两大类问题: -定位,即最终坐标不正确,如超出边界太大/太小:为此,请研究您的模型,计算并显示边界框和
在这种情况下,如何在场景中间显示对象并使模型看起来正常?< /P>
你能帮我把这件事做好吗。谢谢 我想提出一些想法,但我不知道你所说的“显示模型总是有问题”和“使模型看起来正常”到底是什么意思 在我对Three.js的(小)体验中,我偶然发现了两大类问题:
-定位,即最终坐标不正确,如超出边界太大/太小:为此,请研究您的模型,计算并显示边界框和/或边界球体(尝试在浏览器的错误窗口中写入日志),并根据找到的值调整相机,
-灯光,有时您会看到一个几乎不可见的黑对黑显示:为此,从材质和灯光开始,环境光为{1,1,1},因此模型在黑色背景上清晰地显示为纯白色,然后优化材质和灯光以提供所需的效果 在我更准确地知道你的问题之前,我现在不能说更多 用于输出错误日志的小代码:
function log(msg) {
setTimeout(function() {
throw new Error(msg);
}, 0);
}
这样使用:
log('Radius = ' + radius);
非常感谢你的回答。我的问题是,每当我加载它时,如何在场景/屏幕中间显示模型。我想知道Three.js中是否有支持它的机制。再次感谢你!从您的评论中,我假设您的照明是正确的:您实际上可以在屏幕上看到对象,但它相对于相机的位置不正确。因此,您应该尝试计算对象的边界框,根据焦距,将相机放置在距离BB中心适当的位置,然后让它查看BB中心。Three.js具有支持该功能的函数。你用什么来控制?或者,如果不使用控件实用程序,请查看Camera类及其派生类。