iOS で SceneKit を試す(Swift 3) その63 - Scene Editor で Light Map のテクスチャを作成する
Scene Editor ではライトを当てたジオメトリに対して、光を当てた表面情報を画像として Light Map を作成することができる。
内容的には Ambient Occlusion と同じような操作。
Light Map のパラメーター
Scene Editor でジオメトリを選択し、 Attributes Inspector (Command + Option + 4) を開き、一番下に Baking の項目がある。
Scene Editor では以下のパラメーター。
Type
- Ambient Occlusion
- Light Map
Ambient Occlusion が初期値。
今回は Light Map を指定する。
Destination
- Vertex
- Texture
Vertex 頂点にカラー情報を焼き込み、
Texture はテクスチャ画像を作成する。
作成後、Geometry Sources に
Vertex の場合 Color 情報、Texture の場合 Texture coordinates (UV 情報) が追加される。
Quality
初期値は 0.5。
画像のクオリティを決める。
0.5 は 512 x 512 の画像が作成される。
0.1 刻みでテクスチャ画像のサイズが倍になる。
0.6 で 1024 x 1024 になるが、この値を上げた分だけ画像生成に時間がかかるのようになるので注意。
Destination で Vertex の場合、この項目は無視される。
Bake ボタン
Bake ボタンを押すと実行される。
試してみる
準備
いつも通り、Xcode で iOS の Game テンプレートを作成し、ship.scn を開き Scene Editor を表示させる。
Object Library (Command + Control + Option + 3) から Ambient Light を配置。
さらに Light Map 用のライトのために、Omni Light を Y 軸 6 に配置。
ライトの Attributes Editor の Mode を Static にする。
シーン上に Static のライトがないとエラーが出て作成されないので注意。
頂点カラーやテクスチャ作成後は必要ないのでこのライトは消しても良い。
まず Vertex を試してみる
初期値は Vertex のままなので、Attributes Inspector の下の Bake ボタンを押す。
Ambient Occlusion と同様に Geometory Sources に Color が追加される。
Texture を作成する
Destination で Texture に変更し Bake ボタンを押す。
テクスチャ画像作成後、自動的に Texture coordinates による UV 情報が付加され、マテリアルの Illumination に作成された画像が設定される。
作成されたテクスチャ画像
パラメーター名 | 値 |
---|---|
Destination | 0.5 |
パラメーター名 | 値 |
---|---|
Destination | 0.6 |
今回はここまで。