夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Apple VisionProでアプリを作るその③ RealityComposerProで使用されるShader

本日はApple枠です。 

先日はRealityComposerProでのマテリアルについて触れていきました。

redhologerbera.hatenablog.com

今回はシェーダーに関してみていきます。

〇環境

〇RealityComposerProのシェーダー

RealityComposerProではデフォルトでPBRShaderかCustomShaderに加え、ShaderGraphを使用することができます。

PBRShaderに関してはGLSLなどの一般的なプログラミング言語で記述されていることが予想できますが、ソースコードを見つけることはできませんでした。 

しかし参考にk際しているドキュメントによるとこちらもNodeGraphから作成できるようです。

〇ShaderGraphを使用した独自シェーダー

ShaderGraphはRealityComposerProの下部ウィンドウからアクセスできます。

 マテリアルを作成するとノードが使用できるようになります。

PreviewSurfaceノードの出力がOutputsへつながっています。

BlenderのShadingウィンドウに近い感覚でノードを作成し、操作してシェーダーを構築します。

ノードを追加するときは+ New Nodeからノードが追加できます。

 この提供されるノードにはPositionやスクリーンスペースなど一般的なノードとして考えられるものは提供されているように思えます。

また特徴としては多くのシェーダーシステムではSurfaceTypeとしてTransparent、Opaqueなど設定しておく必要がありますが、このShaderGraphでは特に変更することなくOpaqueの値を変更するだけでα値を持つ描画表現ができました。

本日は以上です。

〇参考

developer.apple.com