我在屏幕上显示三个对象,我可以选择(单击)这些对象(现在我只是在单击时更改对象的颜色)。我想要做的就是当用户左键单击该对象应该出现在相机前面的对象之一时(也想在一个漂亮的动画中出现在前面时旋转和缩放它)。当用户在屏幕上右键单击时,对象会回到它的位置(默认对象位置)。我在网上搜索了缩放对象、焦点对象等术语,但找不到关于我上面解释的场景的任何帮助。
请帮助我了解基本概念如何使用 THREE.js 实现这一目标。
问候 ZB
我在屏幕上显示三个对象,我可以选择(单击)这些对象(现在我只是在单击时更改对象的颜色)。我想要做的就是当用户左键单击该对象应该出现在相机前面的对象之一时(也想在一个漂亮的动画中出现在前面时旋转和缩放它)。当用户在屏幕上右键单击时,对象会回到它的位置(默认对象位置)。我在网上搜索了缩放对象、焦点对象等术语,但找不到关于我上面解释的场景的任何帮助。
请帮助我了解基本概念如何使用 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;
}