Appearance
Billboardモード
常にターゲットの方向を向き続けるモードです。回転だけが自動制御 され、位置はsetPosition()で自由に動かせます。
js
obj.setMode('Billboard',{target: view.camera});target— 向き続ける対象のオブジェクト。通常はカメラを指定 します。up— 上方向ベクトル。省略時は(0,1,0)。
「ビルボード(billboard)」は看板という意味で、3DCGでは 「常にカメラの方を向く平面」を指す定番のテクニックです。 平面の画像(ImagePlaneクラス)と 組み合わせて、木や群衆などを軽量に表示するのに使われます。
以下は動き回る画像を常にカメラの方に向かせるサンプルです。 マウスでカメラを動かしても、画像は常にこちらを向きます。
js
import * as a3 from 'a3js';
const view = new a3.Window(600,300);
const obj = new a3.ImagePlane('/a3js/assets/kinkakuji.jpg');
obj.setMode('Billboard',{target: view.camera});
view.scene.add(obj);
// 画像が3D空間を動き回っても常にこちらを向く
let t = 0;
while (true) {
t += await view.waitForRender();
obj.setPosition(3*Math.sin(t),0,3*Math.cos(t)+3);
}向きの変化をなめらかにしたい場合は SmoothBillboardモードを使ってください。