Easy Setup Wizardはバージョン1.4.0から利用できます

既にプロジェクタ(Blob Shadow Projector)を利用して影を組み込んでいる場合にEasy Setup Wizardを使って簡単にセットアップを行なうことができます。シャドウマップを利用する場合は、このWizardを利用することはできません。

まずWizardを開くために、Projector Managerオブジェクトを作成する必要があります。.

  1. まず、Empty Objectを作成し、好きなように名前をつけます。
  2. 次に、作成したオブジェクトのInspector Viewで“Add Component”ボタンを押し、

    Scripts > FastShadowReceiver > Projector Manager
    を選択してProjector Managerコンポーネントを追加します。
  3. ステップ2が終われば、”Easy Setup Wizard”ボタンがInspector Viewに表示されるので、ボタンを押してWizardを開きます。

Easy Setup Wizardは全部で7ページで構成されていますが、設定内容によってはそのうちのいくつかはスキップされます。
Wizardが開くと、まず最初に次のようなページが現れます。

Page 1/7. Set Mesh Shadow Receiver

EasySetup1
このページでは、Mesh Shadow Receiverをセットするだけです。”Create a New Shadow Receiver”ボタンを押すことで、新規にMesh Shadow Receiverを作成してセットすることができます。もし、背景オブジェクトのメッシュに沿って影を落す必要がなければ、このページをスキップできます。
Version 1.4.0 では作成される Mesh Shadow Receiver のマテリアルが null になっていました。この不具合は Version 1.4.1 で修正されています。

Page 2/7. Set Environment Information

EasySetup2-1EasySetup2-2
もしページ1でMesh Shadow Receiverをセットしていれば、上の図の左のようなページが現れ、セットしていなければ右のようなページが表示されます。

どちらのページでも、背景オブジェクト用のレイヤーマスクを選択する必要があります。このレイヤーマスクはProjectorが背景オブジェクトに影を落さないようにするために必要です。

もしページ1でMesh Shadow Receiverをセットしているならば、背景オブジェクトのルートオブジェクトをセットする必要もあります。ルートオブジェクトをセットすると、”Search Assets folder”ボタンと”Create a New Mesh Tree”ボタンが有効になります。

もし既にルートオブジェクトからMesh Treeを作成したことがあるなら、”Search Assets folder”ボタンを押すか、そのMesh TreeをWizardウィンドウの”Mesh Tree”フィールドにドラッグしてください。もしまだMesh Treeを作成していないなら、あるいは新しくMesh Treeを作成したいなら、”Create a New Mesh Tree”ボタンを押して、別のWizardウィンドウを開きます。詳細についてはMesh Treeの作成を参照してください。

Page 3/7. Set Environment Information

EasySetup3
このページはページ1でMesh Shadow Receiverをセットしていた場合にのみ表示されます。このページでは、Mesh Shadow Receiverのインスタンスひとつひとつにユニークなレイヤーを割り当てるためのReceiver Layer Maskをセットします。 “Nothing” を指定しておけば名前のないレイヤー全てが使用されます。

Page 4/7. Add Auto Projector component to Projector prefabs in Assets

EasySetup4
このページではプレハブの中のProjectorオブジェクトにAuto Projectorコンポーネントを追加します。Auto Projectorが追加されていないProjectorオブジェクトはProjector Managerで取り扱われません。そのため、ProjectorはShadow Receiverを使うことにならず、パフォーマンスの改善につながりません。

“Search for Prefab”ボタンを押して、Assetsフォルダの中にあるProjectorオブジェクト検索すると、下のようなリストが表示されます。
EasySetup4-2
一番左の列にはProjectorオブジェクトが表示され、その隣にそのProjectorオブジェクトを含むプレハブオブジェクトが表示されます。これらのフィールドをクリックすれば、それらがどのオブジェクトなのかをProjectウィンドウで確認することができます。一番右の列にあるチェックボックスのチェックはProjectorオブジェクトがAuto Projectorコンポーネントを持っているかどうかを示しています。このチェックボックスにチェックを付けることで、Auto Projectorコンポーネントを追加できます。また、チェックを外すとAuto Projectorコンポーネントを削除できます。

Page 5/7. Add Auto Projector component to Projector objects in the scene

EasySetup5
このページでは、現在のシーンの中にあるProjectorオブジェクトにAuto Projectorコンポーネントを追加します。チェックボックスにチェックを付けてAuto Projectorコンポーネントを追加してください。

Page 6/7. Setup Shadow Distance and Planes

EasySetup6
このページでは、Main CameraとProjector Fadeout Distanceをセットします。これらはMain Cameraで指定したカメラから一定の距離(Projector Fadeout Distance)以上離れたProjectorを非アクティブにするために使われます。もし常にProjectorをアクティブにしておきたい場合は、Projector Fadeout Distanceに大きな値(例えばメインカメラのFar Clipの値)を指定してください。

またさらに、Raycast Plane MaskとInfinite Planeを指定することもできます。これらのパラメータは非アクティブになったProjectorに対して用いられ、Projectorで影を落す代わりに四角形ポリゴンで影を描画し、その四角形ポリゴンをどこに配置するかを決めるために使われます。もしRaycast Plane MaskがNothingでなければ、レイキャストがヒットした位置に四角形ポリゴンの影が配置されます。Infinite Planeがセットされていれば、四角形ポリゴンの影がその平面に投影されるように配置されます。両方がセットされている場合はまずレイキャストが試され、何もヒットしなかった場合にInfinite Planeが使われます。

詳細については、Projector Managerのセットアップを参照してください。

Raycast Plane MaskとInfinite Planeのどちらもセットしていない場合、Wizardはこのページで終了します。

Page 7/7. Setup Shadow Distance and Planes

EasySetup7
このWizardの最後のページでは、Projectorで使われている影のテクスチャをセットして、それらをひとつのテクスチャにパックします。これによって、前のページで指定したRaycast Plane MaskやInfinite Planeによって配置される全て四角形ポリゴンの影を1回のドローコールで描画します。もし前のページでRaycast Plane MaskもInfinite Planeも指定していなければ、このページはスキップされます。

Projectorで使われているテクスチャは”Collect from Projectors in Assets”ボタンや”Collect from Projectors in the scene”ボタンを押すことで収集することができます。ただし、Auto Projectorコンポーネントが追加されていないProjectorからは収集されないので注意してください。

もし複数のテクスチャが収集された場合、”Pack Blob Shadow Textures”ボタンが現れます。このボタンをクリックして、全てのテクスチャがパックされたテクスチャを作成します。以前にパックされたテクスチャを手動でセットすることは推奨されません。もし複数のProjector Managerでパックされたテクスチャを共有したい場合は、Projector Managerのプレハブを作成し、プレハブからインスタンスを作成してください。

Links

コメントを残す

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

Anti Spam Code *