Babylon.jsのチュートリアルをやってみるその6

これは

昨日に引き続きBabylon.jsのチュートリアルをやっていく記事です。
自分であとで思い返す用のメモでもあります。

カメラ

今日はカメラについてです。
これまで使っていたカメラの定義は以下のようなものでした。

 var camera = new BABYLON.ArcRotateCamera("Camera", Math.PI / 2, Math.PI / 2, 2, BABYLON.Vector3.Zero(), scene);
     camera.attachControl(canvas, true);

使いたいカメラを定義した後(ArcRotateCameraを設定してます)
キャンバスにアタッチしてカメラが機能するようになります。

attachControlの説明は以下を参照します。
第一引数はFunction内で自身が作成したものを。
第二引数はnoPreventDefaultをtrue/falseに設定します。

doc.babylonjs.com

camera.attachControl(canvas, true);

noprevent​Defaultを調べたら以下のようなページが出てきました。
jsの基本的な部分の理解が不足していたようです。

developer.mozilla.org

qiita.com

カメラの種類

思ったよりたくさんあります。
それぞれについてみていきます。

  • Universal Camera
     →Babylon.jsとしてデフォルトのカメラになります。
      入力もよしなにやってくれる便利な子

  • Arc Rotate Camera
     →ターゲットを中心としてターゲットの周辺を回転するカメラです。
      衛星とかスパイカメラだと思ってとドキュメントには書いてあります。

  • FollowCamera
     →ターゲットの移動に合わせて移動するカメラ。
      サンプルがとてもよかったのでリンクを   www.babylonjs-playground.com

  • AnaglyphCameras
     →アナグリフ(赤と青の2色で合成した画像)を作れるカメラ
      懐かしのあの二色の眼鏡で見ると立体的に見えるようになるとか。

  • Device Orientation Camera
     →モバイルデバイスで対象のページをみると傾きを検知するカメラ
      便利そう。

  • Virtual Joysticks Camera
     →左右にスマホゲームでよく見るジョイスティックを追加できるカメラ。
      サードパーティ製のファイルが必要なため公式でサポートしているわけではないらしい。

  • VR Device Orientation Cameras
     →VR用のカメラ。両眼様にフレームが作られる。
      FreeCamera/ArcRotateCamera/GamepadCameraがVRに用意されている。

  • WebVR Free Camera
     →上記の前時代的カメラではなくWebVR用として新たに定義されたもの。
      専用のページが用意されているのでそちらを確認する。

 doc.babylonjs.com

  • FlyCamera
     →飛行機のようなカメラらしい。
      ロール・ピッチ・ヨーの概念があって回転するようになっている。

カメラの入力カスタマイズ

いつかはカスタマイズが必要な場面があるはず。
その場合カスタマイズできるような仕組みが用意されているらしい。

doc.babylonjs.com

きょうはここまで。
明日はLight。