カメラのさらなる活用
クリックしてフォーカスし、 スペース
キーでズームインとズームアウトを行い、 左矢印
キーと 右矢印
キーで左右のカメラに切り替えます
基本カメラチュートリアルでは、カメラエンティティの作成とシーンへの追加方法が説明されています。単一の静的カメラの場合、スクリプトは必要ありません。ただし、より動的でインタラクティブなカメラやより高度な使用法の場合は、Scriptコンポーネントをアタッチして、カメラの動作をプログラムすることができます。
属性の変更
ランタイム中にカメラを変更する最初の方法は、Cameraコンポーネントの属性値を変更することです。これは、任意のコンポーネントの属性を設定する方法と同じ方法で行います。つまり、ComponentSystemの set()
および get()
メソッドを使用します。
var Zoom = pc.createScript('zoom');
// initialize code called once per entity
Zoom.prototype.initialize = function() {
this.targetFov = 45;
};
// update code called every frame
Zoom.prototype.update = function(dt) {
if (this.app.keyboard.wasPressed(pc.KEY_SPACE) ) {
if (this.targetFov == 10) {
this.targetFov = 45;
} else {
this.targetFov = 10;
}
}
var fov = this.entity.camera.fov;
if (fov < this.targetFov) {
fov += (10 * dt);
if (fov > this.targetFov) {
fov = this.targetFov;
}
}
if (fov > this.targetFov) {
fov -= (10 * dt);
if (fov < this.targetFov) {
fov = this.targetFov;
}
}
this.entity.camera.fov = fov;
};