正弦と余弦を使用するだけで、ポイントの周りの任意のオブジェクトを回転させることができます。 targetPosition(またはターゲットオブジェクト)を選択し、実行時にcamera.position
メソッドとメソッドを更新します。私がy
の代わりにz
を追加した理由は、あなたがそれを垂直でなく深く回転させたいと思っているからです。 Math.cos
とMath.sin
の中には時間参照があり、その周りを回って回転の速度を変えることができます。
var targetPosition = new THREE.Vector2(100, 100);
var radius = 50;
function update() {
requestAnimationFrame(update);
camera.position.x = targetPosition.x + Math.cos(Date.now()/1000) * radius;
camera.position.z = targetPosition.y + Math.sin(Date.now()/1000) * radius;
camera.lookAt(targetPosition);
}
あなただけのユーザーが、(例えば)ボタンをクリックしたときに、位置Aから位置Bにトゥイーンを行うためにwan't場合は、目的の位置までの目標THREE.Vector3
だけトゥイーンそのベクトルを作成する必要があり、そしてupdate()
にちょうど加えて
var cameraPosition = new THREE.Vector3();
window.addEventListener('click', handleClick, false);
function handleClick(e) {
TweenMax.to(cameraPosition, 1, { x: 100, y: 100, z: 100 });
}
function update() {
requestAnimationFrame(update);
camera.position.copy(cameraPosition);
}