首页 > 其他 > 详细

Camera清除图像

时间:2019-12-05 16:12:18      阅读:78      评论:0      收藏:0      [点我收藏+]

1.前言

Unity清楚某个Camera画面,最简单的方式直接设置SetActive(false)。在此采用CommandBuffer清除图像。

2.实现

public class EyeSightController : MonoBehaviour
{
    public Camera leftCamera;
    public Camera rightCamera;
    public bool enableSingleEyeMode = false;

    private void OnRender(Camera camera)
    {
        if (camera == leftCamera)
        {
            ClearCameraRender(camera);
        }
    }

    private void ClearCameraRender(Camera camera)
    {
        CommandBuffer cmd = new CommandBuffer();
        cmd.SetRenderTarget(camera.targetTexture);
        cmd.ClearRenderTarget(true, true, Color.black);
        Graphics.ExecuteCommandBuffer(cmd);
    }

    private void Start()
    {
        Camera.onPostRender += OnRender;
    }
}

3.结语

采用Camera的onPostRender回调时会对所有的camera进行进行相应的处理。如果直接用OnPostRender内置方法时需要挂载在相应camera所在的游戏物体上。

Camera清除图像

原文:https://www.cnblogs.com/llstart-new0201/p/11989449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!