モーションブラーとシェーダーの適用
このセクションでは、モーションブラー を設定する方法について説明します。また、このパッケージに含まれている Alembic 用に特別にカスタマイズされた シェーダー のリストも示します。
Alembic 用シェーダー
Alembic パッケージには以下のシェーダーが含まれています。
シェーダー | 説明 |
---|---|
Overlay | Alembic 用の可視化シェーダーです。メッシュの法線、接線、UV スペース、頂点色を可視化するために使用します。 |
Points Standard | Alembic ポイントキャッシュをインポートする (または Unity パーティクルシステムのレコーディング時に生成したポイントキャッシュを使用する) ときに、各点に任意のメッシュを割り当てて、鳥の群れや落下する瓦礫などのエフェクトを実現できます。 このシェーダーは スタンダード シェーダーの特別な簡略化バージョンであり、最適化のために Unity での Alembic ポイントのインポート時に適用されます。 |
Points Transparent | このシェーダーでは、Alembic ポイントとして機能するメッシュで透明度を使用し、ブレンディングモードおよび深度バッファとの相互作用をカスタマイズできます。 |
Points Motion Vectors | ポイントキャッシュでモーションベクトルを適切に伝達するには、Alembic Points コンポーネントに専用のシェーダーが必要です。Unity では、これらのシェーダーと関連するマテリアルが自動的に作成され割り当てられます。 |
Standard | モーションブラーのサポートが追加された、標準の物理ベースレンダラー (PBR) マテリアルです。 |
Standard (Roughness setup) | モーションブラーのサポートが追加された、標準の PBR Roughness (粗さ) マテリアルです。 |
Standard (Specular setup) | モーションブラーのサポートが追加された、標準の Specular (スペキュラー) マテリアルです。 |
モーションブラー
Unity では、メッシュレンダラーとスキンメッシュレンダラー用のモーションベクトルが生成されますが、Alembic シェーダーでは Alembic ファイルにのみモーションベクトルのサポートが追加されます。これは、モーションブラーのポストプロセスエフェクトなど、モーションベクトルを必要とするレンダリングに役立ちます。
上の画像では、左側のキャラクターは加工されていません。右側は、ポストプロセッシングスタックによってモーションベクトルとモーションブラーを適用した結果の出力です。
モーションベクトル生成機能を独自のシェーダーに追加する場合は、サブシェーダー内に以下の行を追加します。
UsePass "Hidden / Alembic / MotionVectors / MOTIONVECTORS"
速度データは 4 番目の UV に渡されるため、Unity はこのデータを使用して前のフレームの頂点位置を計算します。MotionVectorData 構造体については、AlembicMotionVectors.cginc を参照してください。