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