iOS で SceneKit を試す(Swift 3) その35 - Scene Editor の Material, Physically Based プロパティ
今回は Physically Based プロパティのご紹介。
Physically Based とは?
現実世界のライトの光などを近似させた物理ベースのシェーダーで 2010 年ぐらいから PC ゲームなどで使われ始め、モバイル GPU の進化によりスマートフォンのゲームでも使用される。
プロパティ
Blinn や Phong のライティングモデルのシェーダーとはプロパティが異なる。
Specular、Reflective、Transparent、Ambient のプロパティはなく、
Metalness と Roughness がある。
また、Settings の Shininess や Fresnel はなく、
Scene Editor 上では「Lock ambient with diffuse」のチェックボックスはあるが
Ambient のプロパティがないため動作はしない。
Metalness と Roughness
右に行くほど Metalness の intensity が上がり、
下に行くほど Roughness の intensity が上がっている
Metalness
金属や非金属を表面設定を行う。
色またはグレイスケールの画像と intensity で適応具合を調整する。
Roughness
オブジェクトの表面の細かな荒さを設定し、
つや消しのような広がった光沢や金属のよう鋭い光沢の設定を行う、
色またはグレイスケールの画像と intensity で適応具合を調整する。
Roughness の色の設定
上の画像の Roughness はパラメーターで変化を示したが、
色やグレイスケールの画像での表示でも表示方法が変わる。
以下、色で Roughness の値を設定している。
また、Physically Based ではシーンで設定された Lighting Environment がライトとして適応されるため、
金属に近く、強めの光沢があるとジオメトリの輪郭部分にフレネル反射が出る(画像の左のほう)
Roughness にテクスチャを適応してみる
Metalness を 1にして、
Photoshop のフィルターの雲模様を使い Roughness にテクスチャを適応。
雲のような白い部分で光が広がっている。
今回はここまで。