Skip to main content

If your application employs the use of Post-Processing techniques such as Bloom or Color Grading to enhance the user’s view of the experience, you probably also want MixCast’s output to reflect that visual state. Depending on your project’s post-processing solution, MixCast might already be showing the correctly processed output, or its Cameras might require some customization to accept your existing effects.

Customizing MixCast Cameras

In order to render your experience, MixCast spawns a Camera GameObject and Component in the scene for each user-configured MixCast camera. To customize the properties of these spawned Cameras, you can specify a prefab containing a Camera component to clone rather than creating one from scratch.

  1. Create a new Prefab asset in your project and open it for editing.
  2. Add a Camera component and any other components required for this pass of rendering. You can add the provided SetCameraParametersFromMainCamera component if you want to have some of the camera’s parameters copied from your application’s main VR/AR camera.
  3. Open the MixCast Project Settings by selecting MixCast -> Open Project Settings in the Unity menu.
  4. Set the Layer Cam Prefab to your new Prefab.

Although all Camera components are disabled during runtime, cam.Render() is called on it one or more times per-frame.

PASSING CLEAN LAYERS

MixCast supports ‘baking in’ all your post-processing into your virtual layers by applying them during the initial rendering, but also (starting with 2.5.0) now supports passing a ‘clean’ scene buffer (one without certain post-processing effects or conversion from HDR to LDR) in order to hand more power over to the user and letting them decide how to treat the result. The primary benefit of this is that post-processing done within MixCast can apply to both virtual and physical layers – allowing for even more convincing handling of effects like Bloom, Depth of Field, and more. This does have the drawback that your users need to set up their settings ‘manually’ in order to achieve the look you’ve already gotten working within your project, so this decision should probably only be taken if you’re both the developer and primary user of your experience.