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

これは

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

Light

今日はLightについてです。

Lightの種類

Lightは4種類
それぞれについてみていきます。

  • The Point Light
     →Unityでもおなじみの。電球と例えるとよいらしい。

  • The Directional Light
     →これもおなじみ。太陽みたいな光を作ります。

  • The Spot Light
     →これもまた。
      当たり前ですがUnityとちがい数値でサイズを指定します。

  • The Hemispheric Light
     →Google翻訳すると半球ライト。
      基本空に向かって上へ向かう光を作り出してくれる。

Lightカラー設定

カラー設定は3つあります。
色が交差している部分は白くなります。

  • diffuse
     →オブジェクトに基本色を与える。

  • specular
     →鏡面反射。ハイライトカラーを生成

  • groundColor
     →The Hemispheric Light専用のパラメータ。
      The Hemispheric Lightの逆。地面に向かって下に向かう光

注意事項

・Light増やしすぎるとモバイルで見れないのでほどほどに
・StandardMaterialはmaxSimultaneousLightsで定義した数が限界。

Lightのオンオフ

ちゃんとON/OFFできます。

// OFF
light.setEnabled(false);
// ON
light.setEnabled(true);

Lightの対象かどうか

excludedMeshesとincludedOnlyMeshesを使ってLightの対象かどうか
描画する対象とするかをハンドリングできるようになっている。

Lightmaps

ブラウザで即座に描画することが想定されるので
事前に計算量節約のためにLightmapsを作っておくことができます。
例では以下のように定義されてました。

var lightmap = new BABYLON.Texture("lightmap.png", scene);
var material = new BABYLON.StandardMaterial("material", scene);
material.lightmapTexture = lightmap;

Projection Texture

SpotLight限定だが、
ステンドグラスを描画するように色を付けておくことが可能
サンプルがすごくよかったのでリンクを

www.babylonjs-playground.com

そのほか

これだけあれこれできるならPostProcessesもあるかなと思ったらあった

doc.babylonjs.com

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