Easy Setup Wizard is available from Version 1.4.0
If you already have blob shadow projectors in your scene, Easy Setup Wizard makes it easy to setup everything. If you want to use shadow-map, you cannot use this wizard.
To open the wizard, you need to create a Projector Manager object.
- Create an empty object, and rename the object as you like.
- Press “Add Component” button in Inspector View of the object, and select
Scripts > FastShadowReceiver > Projector Manager.
- After step 2 is done, you can find “Easy Setup Wizard” button in Inspector View. Press the button to open Easy Setup Wizard.
Easy Setup Wizard consists of seven pages, and some of them will be skipped depending on what you need.
This is the first page you can see just after the wizard open.
Page 1/7. Set Mesh Shadow Receiver
In this page, you just need to set a Mesh Shadow Receiver. You can create one by clicking “Create a New Shadow Receiver”. If you don’t need to cast shadows on the meshes of the environment objects, you can skip this page.
In version 1.4.0, Mesh Shadow Receiver was created with null material. You must have seen a pink polygon. This issue was fixed in version 1.4.1.
Page 2/7. Set Environment Information
If you set a Mesh Shadow Receiver in page 1, you will see a page like the left image above, if not, a page like the right image above will appear.
First of all, you need to choose a layer (or some layers if you want) for the environment objects so that blob shadow projectors can ignore the environment objects.
If you set a Mesh Shadow Receiver in page 1, you also need to set the root object of the environment. Once you set the root object, “Search Assets folder” button and “Create a New Mesh Tree” button will be enabled.
If you already have a Mesh Tree object created from the root object, press “Search Assets folder” button or manually drag the Mesh Tree object to the “Mesh Tree” field in the wizard window. If you don’t have a Mesh Tree yet, or want to create a new one, press “Create a New Mesh Tree” button. It will open another wizard as shown below. Please refer to Create a Mesh Tree for details of Mesh Tree.
Page 3/7. Set Environment Information
If Mesh Shadow Receiver was set in page 1, you will see this page. In this page, you can set Receiver Layer Mask which is used to assign a unique layer to each shadow receiver instance. You can leave it “Nothing” to use all the unnamed layers.
Page 4/7. Add Auto Projector component to Projector prefabs in Assets
In this page, you can add Auto Projector component to Projector objects in prefabs. If a projector object doesn’t have Auto Projector component, it cannot work with Projector Manager. That means, the projector cannot project shadows on shadow receivers, resulting in bad performance.
Press “Search for Prefab” button to get the list of Projector objects in prefabs as shown in the below image.
The left most column shows the projector objects, and the next columns shows the prefab objects containing the projector object in the first column. You can click the fields in those columns to select the object in Project window. Each checkbox in the right most column indicates whether the projector object has Auto Projector component or not. You can check/uncheck the checkboxes to add/remove Auto Projector components.
Page 5/7. Add Auto Projector component to Projector objects in the scene
In this page, you can add Auto Projector component to Projector objects in the current scene. Check/uncheck the checkboxes to add/remove Auto Projector components.
Page 6/7. Setup Shadow Distance and Planes
In this page, you need to set the Main Camera and Projector Fadeout Distance. The projectors whose distance from the camera are longer than Projector Fadeout Distance will be turned off. If you want projectors to cast shadows always, set a large value (e.g. far clip plane of the main camera) to Projector Fadeout Distance.
Additionally, you can set Raycast Plane Mask and Infinite Plane. Those parameters are used for the projectors which are turned off by Projector Fadeout Distance. Even a projector which is turned off can generate a shadow represented by a quadrangle polygon. If Raycast Plane Mask is not Nothing, a raycast is used to put the quadrangle polygon. If Infinite Plane is set, the quadrangle polygon will be casted on the plane. If both are specified, raycast is tested first, and if the ray hit an object in Raycast Plane Mask layers, the shadow will be placed at the hit point. If the ray doesn’t hit, the infinite plane will be used.
For more details, please refer to Setup Projector Manager.
If you setup neither Raycast Plane Mask nor Infinite Plane, the wizard will end at this page.
Page 7/7. Setup Shadow Distance and Planes
In the last page of the wizard, you need to set textures of blob shadows and combine them into a single packed texture so that the quadrangle polygon shadows can be drawn by a single draw call. If you didn’t setup either Raycast Plane Mask or Infinite Plane, this page will be skipped.
You can collect all the blob shadow textures which are used by Projector objects by clicking “Collect from Projectors in Assets” button and “Collect from Projectors in the scene” button. Please be noted that only the textures used by projector objects with Auto Projector component can be collected.
If more than one textures are collected, “Pack Blob Shadow Textures” button will appear. Click this button to create a packed texture. It is not recommended to manually set a packed texture created before. If you want to share a packed texture with other Projector Managers, please create a prefab of a Projector Manager, and create instances from the prefab.
2 thoughts on “Easy Setup Wizard for Projector Manager”
Does the Fast Shadow Receiver always double the tri count of the mesh that the shadows are projected on, or am I setting something up wrong? I was under the impression it would have a low triangle cost and not just duplicate the mesh like normal projectors.
Follow up: I had my mesh set to the layer to receive the normal projector along with the fast shadow receiver in stead of ignoring it so it was creating double shadows. Sorry my mistake as you mentioned this in the layers documentation.