Unityにはオブジェクトにマテリアルを投影できる「Projector」というコンポーネントがあります。
Projectorの投影はアバターにも適用されるので、現実の照明や映像投影機と近い見た目を実現することができます。
この機能を使うと、スポットライト的な表現や映写機・プロジェクターから映像を映した時にスクリーンの前にいる人にも映像が映る表現など様々な表現に応用できます。本記事では、基本的な設定方法を紹介します。

基本的な設定手順
Projectorの設定自体は簡単ですが、専用のシェーダーが必要になります。本記事内で対応するシェーダーをダウンロードできるので、そちらをご使用ください(DLは下記のリンクから)
- Hierarchyから右クリックで「Create Empty」か上部ウインドウの「GameObject > Create Emptyで空のGameObjectを設定してください。
- Add Componentを選択し「Projector」を追加してください。
- 新規のマテリアルを用意してください。
- 下記からシェーダーをダウンロードして利用してください。
- シンプルに投影するものと、投影元から離れるほど投影されるものが薄くなるものの2種類入っています。
- 下記からシェーダーをダウンロードして利用してください。
- マテリアルにダウンロードしたシェーダーを適用してください。

作成したマテリアルをProjectorに適用していきます。
- 作成したマテリアルをMaterialにドラッグ&ドロップしてください。
- 投影の方法や距離などを設定してください。
- 細かい設定内容はUnityの公式ドキュメントをご覧ください。
- これで完成です!
- Ignore Layersの設定で特定のレイヤーにのみ投影させるようにすることもできます。
- 「レイヤーって何?」という方はこちらの記事をご覧ください。
- Ignore Layersの設定で特定のレイヤーにのみ投影させるようにすることもできます。

応用例:Render Textureを使って動く映像を投影する
Projectorは設定したマテリアルを投影する機能なので、Render Textureのようなものも投影することができます。動く映像と合わさることで、面白い表現をつくることができるかもしれません。
Render Textureの作成の仕方はこちらの記事をご覧ください。

他にも、シェーダー等を駆使して水中に見えるコースティクスなどに使われることもあります。

このようにアイデア次第で面白いことができるかもしれない機能です。ぜひ触ってみてください!





















