如何在 Three.js 中将对象从位置 {x,y} 移动到 {newx,newy}

How to move object from position {x,y} to {newx,newy} in Three.js

X 和 y 是对象的坐标。 Z 始终为 0。如何使用 Three.js 将此对象移动(使用可见的移动动画,不会在不同位置弹出)到新位置?

编辑:对象(网格)的代码示例

var mesh = new THREE.Mesh(new THREE.PlaneBufferGeometry(2, 2), new THREE.MeshBasicMaterial({img: THREE.ImageUtils.loadTexture('img.png')}))
scene.add(mesh)

编辑 2:我可以使用 mesh.position.x=newx 和 mesh.position.y=newy 使我的网格跳转到新位置,但我希望它看起来像 JQuery animate() 中那样平滑.

为任何类型的对象设置动画的关键是以高刷新率.[=11=移动量]

这意味着多次渲染场景,但每帧将对象朝您希望的方向移动一点点。

例如

var direction = new THREE.Vector3(0.3, 0.5, 0); // amount to move per frame

function animate() {
  object.position.add(direction); // add to position

  renderer.render(camera, scene); // render new frame

  requestAnimationFrame(animate); // keep looping
}

requestAnimationFrame(animate);