Apple Engine

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

Xcode 11 での SceneKit の変更点 その4 - スクリーンスペースリフレクション

f:id:x67x6fx74x6f:20191002222729p:plain

 

スクリーンスペースリフレクション (Screen-Space Reflection) とは

前回のリフレクションプローブと異なりカメラから反射を推定する。
そのため正確な反射にならない場合が多いが、それっぽい感じの表現をすることができる。
リフレクションプローブはライトだが、 スクリーンスペースリフレクションはシーンで設定するのであまり考えることが少ない。

プロパティやメソッドは過去記事参照。

 

以下の画像は通常のものとスクリーンスペースリフレクションのパラメーターを付加したもの。

f:id:x67x6fx74x6f:20191002222808p:plain f:id:x67x6fx74x6f:20191002222836p:plain

 

これまでの SceneKit で使用されなかったわけではなく、似た様なものを指すなら SCNFloor だろう。
平面というのが約束されているため、SCNFloor の場合、カメラから反射した位置にもう1つのカメラを置き、この結果を SCNFloor にマテリアルに足している。

 

注意点

スクリーンスペースリフレクションはシーンに設定される。
そのためのリフレクションプローブがかかっていると異なる反射が両方とも適応されるので注意。

 

次回はカメラの機能追加について。