Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Javascript Three.js将对象放在前面_Javascript_Webgl_Three.js - Fatal编程技术网

Javascript Three.js将对象放在前面

Javascript Three.js将对象放在前面,javascript,webgl,three.js,Javascript,Webgl,Three.js,我在屏幕上显示了三个对象,我可以选择(单击)这些对象(现在我只是在单击时更改对象的颜色)。我所要做的就是当用户左键单击其中一个对象时,该对象应该出现在摄影机前面(在一个漂亮的动画中,当对象出现在摄影机前面时,还希望旋转和缩放它)。当用户在屏幕上单击鼠标右键时,对象将返回其位置(默认对象位置)。 我在网上搜索了zoom object、focus object等术语,但找不到任何关于上述场景的帮助 请帮助我了解如何使用THREE.js实现这一点的基本概念 问候 ZB您的问题是无法缩放对象,您可以放大

我在屏幕上显示了三个对象,我可以选择(单击)这些对象(现在我只是在单击时更改对象的颜色)。我所要做的就是当用户左键单击其中一个对象时,该对象应该出现在摄影机前面(在一个漂亮的动画中,当对象出现在摄影机前面时,还希望旋转和缩放它)。当用户在屏幕上单击鼠标右键时,对象将返回其位置(默认对象位置)。 我在网上搜索了zoom object、focus object等术语,但找不到任何关于上述场景的帮助

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

问候
ZB

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

第二种方法“将物体置于摄像机前方”:


如果你不介意发布一些代码,我可以更好地帮助你,我已经测试过了,它确实对我有用。因此,我的假设是,您的代码并没有按预期进行设置。
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;
}