このセクションでは、カメラの簡単な操作方法と、 座標をわかりやすくするためのガイドの表示方法を学びます。
controls
を使うことで、ユーザのマウス操作やタッチ操作によってカメラを操作することができます。
controls
を利用するには、1行目の使うものリストに controls
を追加し、controls.connect()
を記述するだけです。
const { camera, create, animate, controls } = init();
controls.connect()
camera.position.set(-2, 2, 2)
create.ambientLight()
create.directionalLight()
create.cube()
animate()
これだけで、マウスやタッチ操作によってカメラを操作することができます。
実際に試してみましょう。
また、マウスホイール (スマホならピンチイン・アウト) でズームイン・アウトができます。
さらに、マウス右ドラッグ (スマホなら2本指でスワイプ) でカメラ位置を並行に移動できます。
カメラを自動で回転させることもできます。
controls.autoRotate = true
controls.autoRotateSpeed = 10
カメラはy軸を中心に自動で回転します。
カメラの手動操作をONにするかどうかに関わらず利用できます。
const { camera, create, animate, controls } = init();
controls.autoRotate = true
controls.autoRotateSpeed = 10
camera.position.set(-2, 2, 2)
create.ambientLight()
create.directionalLight()
create.cube()
animate()
3D 空間上で座標をわかりやすくするために、ガイドを表示することができます。
ガイドの表示には、helper
を使います。
helper.grid()
で、y = 0
のx-z
面にグリッドを表示することができます。
helper.axes()
軸を表示することができます。
const { camera, create, animate, controls, helper } = init();
controls.autoRotate = true
helper.grid()
helper.axes()
camera.position.set(-2, 2, 2)
create.ambientLight()
create.directionalLight()
create.cube()
animate()