Three.js将物体带到前面

时间:2012-11-15 11:21:55

标签: javascript webgl three.js

我在屏幕上显示三个对象,我可以选择(单击)这些对象(现在我只是在点击时更改对象的颜色)。我想要做的就是当用户点击其中一个对象时,对象应该出现在摄像机前面(当你想要以漂亮的动画来到前面时,也想要旋转并缩放它)。当用户右键单击屏幕时,对象将返回其位置(默认对象位置)。 我在网上搜索了像缩放对象,焦点对象这样的术语,但是对于我上面解释的场景无法找到任何帮助。

请帮助我了解基本概念如何使用THREE.js实现这一目标。

此致 ZB

1 个答案:

答案 0 :(得分:0)

您的问题是您无法缩放对象,您可以放大相机或将对象放在相机前面。 第一种方法“放大相机”:

if ( intersects.length > 0 ) {
    // set camera in with some gap;
    camera.position.z = intersects[0].object.position.z - 100;
    camera.position.x = intersects[0].object.position.x;
    camera.position.y = intersects[0].object.position.Y;
}

第二种方法“将物体带到相机前面”:

if ( intersects.length > 0 ) {
    // bring object;
    intersects[0].object.position.z = camera.position.z - 100;
    intersects[0].object.position.x = camera.position.x;
    intersects[0].object.position.y = camera.position.y;
}