1. もしまだ大きな環境オブジェクト用のレイヤーを持っていなければ、新規にレイヤーを作成します(ここでは”Environment”レイヤーと呼ぶことにします)。そして、作成したレイヤーを大きな環境オブジェクトに割り当ててください。
    レイヤーを新規に作成するにはメニューから“Edit > Project Settings > Tags and Layers”を選択して“Tags and Layers Manager”を開きます。

    InspectorLayers    InspectorSetLayer
  2. 次にProjectorオブジェクトの“Ignore Layers”プロパティに”Environment”レイヤーを追加します。これにより、環境オブジェクトに影を落とすのをやめることができます。
    もしまだProjectorオブジェクトを作っていなかったら“Projectors”パッケージをインポートして、“Standard Assets/Projectors/Blob Shadow Projector”をシーンにドラッグ&ドロップします。

    InspectorSetIgnoreLayer
  3. 空のゲームオブジェクトを作成して、Shadow Receiverコンポーネントのいずれかを追加します。Shadow Receiverコンポーネントのスクリプトファイルは“FastShadowReceiver/Scripts/Receivers”フォルダの中にあります。
    ProjectReceiversFolder
  4. ステップ3で作成したShadow ReceiverコンポーネントにProjectorオブジェクトを割り当てます。
    InspectorSetProjector
  5. ステップ3で作成したゲームオブジェクトのMeshRendererに“Invisible”マテリアルを割り当てます。“Invisible”マテリアルは“FastShadowReceiver/Materials”フォルダの中にあります。このステップはほとんどの場合ステップ4と同時に自動的に行なわれます。
    InspectorSetInvisible
  6. ステップ1で選択した大きな環境オブジェクトを次のいずれかの方法でShadow Receiverに割り当てます:
    • ステップ3でInfinitePlaneShadowReceiverを作成した場合は、“target”プロパティに環境オブジェクトをセットする。
    • ステップ3でMeshShadowReceiverを作成した場合は、“MeshTransform”プロパティに環境オブジェクトのルートオブジェクトをセットする。
    • ステップ3でRaycastPlaneShadowReceiverを作成した場合は、“Raycast Mask”プロパティに“Environment”レイヤーを割り当てる。

    詳細についてはShadow Receiverのセットアップセクションを参照してください。

  7. もしステップ3でMeshShadowReceiverを作成した場合は、Mesh Treeを作成してMeshShadowReceiverコンポーネントの“Mesh Tree”プロパティに割り当てる必要があります。
    まだ“Mesh Tree”プロパティに何もセットしていなくて、“Mesh Transform”プロパティにステップ6で環境オブジェクトのルートオブジェクトをセットしていれば、“Create a new MeshTree”ボタンがInspector Viewの下の方に現れます。
    createmeshtreebutton
    このボタンを押すと、下のイメージにあるようなMesh Treeを作成するためのWizardが表示されます。詳細についてはMesh Treeの作成を参照してください。
    createmeshtreewizard
  8. まだ他にShadow Receiverに割り当てられていないProjectorオブジェクトがあれば、ステップ3からステップ6までを繰り返します。
  9. もし複数のProjectorを使っている場合、それぞれのShadow Receiverにユニークなレイヤーを割り当て、各Projectorが対応したShadow Receiverにのみ影を落とせるようにProjectorの“Ignore Layers”を調整してください。詳細については、デモの“MultiProjector – Plane”シーンや“MultiProjector – Mesh”シーンをご覧ください。

Links

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Anti Spam Code *