Xcode 11 での SceneKit の変更点 その7 - マテリアルの新しいライティングモデル
Xcode 11 での SceneKit でマテリアルのライティングモデル (Lighting Model/Shading) では新しくShadow Only が追加された。
使用用途としては AR の際に影だけ描画したい場合など。
現状では AR の現実空間の表示は画像に過ぎないので、影を落とすことができない。
そのため、仮想オブジェクトで影を落とすためのジオメトリを設置しマテリアルを透過させ differed 設定で影だけ表示する必要があった。
iOS 13 など Xcode 11 からはライティングモデルを変更するだけで可能になった。
Shadow Only の設定
Scene Editor ではディレクショナルライトやスポットライトを置きシャドウマップを設定。
Shading を「Shadow Only」に変更するだけ。
コードではライティングモデルを「shadowOnly」にするだけ。
let material = SCNMaterial() material.lightingModel = .shadowOnly
マテリアルプロパティはディスプレイスメントしかない。
今回で Xcode 11 での SceneKit の変更はおしまい。
ざっと書いてみたが面白い機能が増えたとは思う。