Appearance
Followモード
別のオブジェクトを追従するモードです。一番よく使うのは、 カメラをプレイヤーに追従させる使い方です(TPS視点)。
js
view.camera.setMode('Follow',{target:player, lookFrom:{x:0,y:3,z:-5}});target— 追従する対象のオブジェクト。lookFrom— 対象から見た相対位置(対象をどこから見るか)。 省略時は{x:0, y:5, z:-10}(後方上方)。smoothness— なめらかさ。0に近いほどすぐに追従し、1に近いほど ゆっくり追従します。0以上1未満で指定します。省略時は0.9。
以下はlookFromに渡したVec3を後から書き換えて、カメラの 視点をぐるぐる動かすサンプルです。lookFromは「ターゲットから 見た相対位置」なので、ターゲットが動いてもカメラは同じ位置関係を 保ちます。
js
import * as a3 from 'a3js';
const lookFrom = new a3.Vec3(0,3,-5);
const view = new a3.Window(600,300);
const player = await new a3.Acerola3D('/a3js/assets/vesma9.a3').ready;
view.scene.add(player);
view.camera.setMode('Follow',{target:player,lookFrom});
// lookFrom(ターゲットから見たカメラの相対位置)を動かすと
// カメラがなめらかについていく
let t = 0;
while (true) {
t += await view.waitForRender();
lookFrom.x = 5*Math.cos(0.3*t);
lookFrom.y = 3*Math.sin(t);
lookFrom.z = 5*Math.sin(0.3*t);
}カメラ以外にも使えます。例えばペットやドローンをプレイヤーに ついてこさせるような使い方ができます。実戦的な使用例は カーレースサンプルプログラムや TPSのサンプルプログラムを参照して ください。