RenderMode for the Canvas.
//Attach this script to your Canvas GameObject
using UnityEngine;
public class Example : MonoBehaviour { enum RenderModeStates { camera, overlay, world }; RenderModeStates m_RenderModeStates;
Canvas m_Canvas;
// Use this for initialization void Start() { m_Canvas = GetComponent<Canvas>(); }
// Update is called once per frame void Update() { //Press the space key to switch between render mode states if (Input.GetKeyDown(KeyCode.Space)) { ChangeState(); } }
void ChangeState() { switch (m_RenderModeStates) { case RenderModeStates.camera: m_Canvas.renderMode = RenderMode.ScreenSpaceCamera; m_RenderModeStates = RenderModeStates.overlay; break;
case RenderModeStates.overlay: m_Canvas.renderMode = RenderMode.ScreenSpaceOverlay; m_RenderModeStates = RenderModeStates.world; break; case RenderModeStates.world: m_Canvas.renderMode = RenderMode.WorldSpace; m_RenderModeStates = RenderModeStates.camera;
break; } } }
ScreenSpaceOverlay | Render at the end of the scene using a 2D Canvas. |
ScreenSpaceCamera | Render using the Camera configured on the Canvas. |
WorldSpace | Render using any Camera in the scene that can render the layer. |