Apple Engine

Apple, iPhone, iOS, その周辺のことについて

iOS で SceneKit を試す(Swift 3) その34 - Scene Editor の Material Inspector

ジオメトリ選択後に Material Inspector を選択すると(Command + Option + 5)、以下のような表示になる。

f:id:x67x6fx74x6f:20170719191459p:plain

 

長くなるので Lighting Model に影響のある設定(上の画像でいうPropaerties)に関しては別の記事で紹介する。

 

Materials

現在使用しているマテリアルが列挙される。

列挙されるものはノード内にある1つもしくは複数のジオメトリに対してマテリアルが複数設定されているもの。

Scene Editor からのジオメトリ作成はビルトインのものしか使用できず、ビルトインものは1つのマテリアルで構成されている。

そのため、「+」押しても設定はできない。

 

Identity

Name

識別用の名前。コードで利用する際に使用する。

 

Settings

Transparency

透明度の設定。

 

Mode
設定値 説明
A One アルファチャンネルから透明度を返す。1 で不透明になる。デフォルト設定値
RGB Zero 色の輝度から透明度を返す。0 で不透明になる。

 

Value

透明度の値を設定する。 0 〜 1 の間で値を設定し、0 は観世に透明になる。 デフォルトは 1。

 

Lit per pixel

デフォルトではチェックが入っており、
このジオメトリのレンダリング時にピクセル毎でライティングの計算を実行する。

チェックを外すと頂点からライティングの計算を行い補完した値でジオメトリのマテリアルを表示する。
見た目にほとんど影響を与えずにレンダリングのパフォーマンスを向上させることができる。

 

Visibility

ジオメトリの面が向き。
設定を変更すると法線情報を反転させて逆側を表示することができる。

デフォルトでは Cull front が設定されている。
Cull back にすると反転され裏面が表示される。

f:id:x67x6fx74x6f:20170719191624p:plain

 

Blend Mode

画面上でのジオメトリの描画モード。

設定値 説明
Alpha デフォルト設定。ジオメトリのアルファ値でブレンドする
Add 背景色からジオメトリの色を加算してブレンドする
Subtract 背景色からジオメトリの色を減算してブレンドする
Multiply ジオメトリの色と背景色を掛け合わせてブレンドする
Screen ジオメトリの色の逆数に背景色の逆数を掛けてブレンドする
Replace 背景色をジオメトリの色に置き換え、アルファを無視してブレンドする(Alpha と同じだが透明にならない)

f:id:x67x6fx74x6f:20170719191802p:plain

Enhancements to SceneKit - WWDC 2015 - Videos - Apple Developer

 

Double sided

ジオメトリの表面を裏表描画するかのチェックボックス。
デフォルトでは false だが、一部のビルトインジオメトリでは true になっている。

 

Options

現行のデフォルトでは全てチェックされている。
(OS X v10.9 以前のものは Lock ambient with diffuse のチェックせれていない)

また、ノードやマテリアルが半透明だとデプスバッファの計算がかかるためか、Write depth、Reads depth の設定は無視される。

 

Write depth

チェックを外すと、半透明オブジェクトをレンダリングするように深度情報の書き込みを無効にする。 (あまりうまく動作しない)

 

Reads depth

チェックを外すと、レンダリング時に深度情報の読み込みを無効にして最前面に表示する。
ゲームのなどの UI や HUD などを表現するためものもだと思われる。

 

Lock ambient with diffuse

チェック時や Physically Based の場合には、環境光(Ambient)と表面(Diffuse)が両方に同じように応答する。

そのため、チェック時は Ambient にテクスチャが適応されない。

 

Sharing

マテリアルの共有設定。
ジオメトリの共有設定と同様に、ジオメトリコピー後「Unshare」を押すと他のジオメトリとマテリアルが共有されなくなり個別で設定できる。

 

今回はここまで