Three.JS,如何配置相机不要倒置模型?

时间:2013-03-19 03:56:55

标签: javascript three.js webgl interactive collada

我正在使用Three.JS和Collada装载机开发建筑物的3D模型。

我正在改善我的系统交互性,但我有两个主要问题:

1-当我在场景中旋转模型时,它会在3轴上旋转并使其上下颠倒!我想保持模型在水平轴上固定,只沿Y轴(向上)旋转。

A live sample如何围绕Y轴(向上)旋转此立方体?

2 - 如何使用鼠标移动对系统进行平滑控制?例如,在大型模型中,平滑地缩放到特定的小物体并不容易。如何配置相机进行平滑变焦,平移和旋转?

由于

2 个答案:

答案 0 :(得分:1)

在脚本中添加以下内容:

controls.getMouseProjectionOnBall2 = controls.getMouseProjectionOnBall;
controls.getMouseProjectionOnBall = function(x, y){
    return controls.getMouseProjectionOnBall2.call(controls, x, controls.screen.height/2);
}

关于生涩的动作,我看到你已经做了所有可能的事情(通常人们省略requestAnimationFrame)。除了降低建筑的复杂性之外,我认为除了减少混乱之外,你还有什么可以做的。

答案 1 :(得分:1)

您没有旋转模型。你正在旋转相机。

使用OrbitControls代替TrackballControls - 它会使相机正面朝上。

OrbitControls应该是顺利的。如果不是,那么您的模型可能有问题。这只能根据具体情况处理。

您使用的是一年前的图书馆版本。更新到当前版本是明智的。

three.js r.57。