2012-11-29 144 views
1

我试图使用OBJLoader加载3D模型,并且成功。使用三维建模软件绘制模型,并使用转换软件转换为.obj格式。由于模型是绝对定位,所以显示模型总是有问题。Three.js:在场景中间显示对象

在这种情况下,如何在场景中间显示对象并使模型看起来正常?

你能帮我试试这个工作吗?谢谢!

回答

0

我会建议一些思路,但我不确切地知道你的意思是“始终存在显示模型的问题”和“使模型看起来很正常”。

在three.js所的我(小)的经验,我在基本上两大类问题跌跌撞撞:
- Positionning,即你结束了不正确的坐标,像过大/小出界:对那么,研究你的模型,计算并显示边界框和/或边界球(尝试在浏览器的错误窗口中写一个日志),然后根据找到的值调整摄像机,灯光有时候会出现黑屏,几乎看不见的黑色显示屏上:因此,从材质和灯光开始,周围环境亮度为{1,1,1},因此模型在黑色背景上清晰呈现为纯白色,然后对材质和灯光进行细化,以赋予预期的效果。

不能说太多,现在更多的,直到我知道更多的恰恰是你的问题......

输出的错误日志小码:

function log(msg) { 
    setTimeout(function() { 
     throw new Error(msg); 
    }, 0); 
} 

使用这样的:

log('Radius = ' + radius); 
+0

非常感谢您的回答。我的问题是,如何在每次加载时在场景/屏幕中间显示模型。我想知道Three.js中是否有一种机制可以支持它。再次感谢你! – user1452571

+0

从您的评论中,我认为你的照明是正确的:你实际上可以看到屏幕上的物体,但它不在相机的正确位置。因此,您应该尝试计算物体的边界框,根据焦点将相机放置在距BB中心适当的距离处,然后让它看BB中心。 Three.js具有支持该功能的功能。你用什么来控制?或者如果您不使用Controls实用程序,请查看Camera类及其派生类。 –

相关问题