RedererTexture测试代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class camRederer : MonoBehaviour
{


    public GameObject go1;//带有贴图所在材质的对象(plane 、面等)
    public GameObject go2;//同上
    Material[] m1, m2, m3, temp;
    RenderTexture rt1, rt2, rt3;
    void Start()
    {
        cam = this.GetComponent<Camera>();
        m2 = new Material[go1.GetComponent<MeshRenderer>().materials.Length];
        for (int j = 0; j < m2.Length; j++)
        {
            m2[i] = new Material(go1.GetComponent<MeshRenderer>().materials[i]);
        }
        m2[0].name = "fuckmat";
        go2.GetComponent<MeshRenderer>().materials = m2;
        rt1 = (RenderTexture)go1.GetComponent<MeshRenderer>().materials[0].mainTexture;
        rt2 = new RenderTexture(256, 256, 0);
        rt2.name = "fuck";
        m2[0].mainTexture = rt2;
    }

    float time = 0f;
    int i = 0;
    Camera cam;
    void Update()
    {
        if (time <= Time.time)
        {
            time = Time.time + 2;
            if (i == 1)
            {
                i = 2;
                cam.targetTexture = rt1;
            }
            else
            {
                i = 1;
                cam.targetTexture = rt2;
            }
            cam.Render();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_22012149/article/details/78357118