Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js js:在场景中间显示对象_Three.js - Fatal编程技术网

Three.js js:在场景中间显示对象

Three.js js:在场景中间显示对象,three.js,Three.js,我尝试用OBJLoader加载三维模型,成功了。模型用三维建模软件绘制,并用转换软件转换成.obj格式。由于模型是绝对定位的,因此显示模型时始终存在问题 在这种情况下,如何在场景中间显示对象并使模型看起来正常?< /P> 你能帮我把这件事做好吗。谢谢 我想提出一些想法,但我不知道你所说的“显示模型总是有问题”和“使模型看起来正常”到底是什么意思 在我对Three.js的(小)体验中,我偶然发现了两大类问题: -定位,即最终坐标不正确,如超出边界太大/太小:为此,请研究您的模型,计算并显示边界框和

我尝试用OBJLoader加载三维模型,成功了。模型用三维建模软件绘制,并用转换软件转换成.obj格式。由于模型是绝对定位的,因此显示模型时始终存在问题

在这种情况下,如何在场景中间显示对象并使模型看起来正常?< /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类及其派生类。