DrawMeshNow用法

来源:互联网 发布:长江大学有网络教育吗 编辑:程序博客网 时间:2024/06/05 12:08

游戏新需求,渲染属性图标,所需需要自己动态构建mesh和渲染,由于目前对u3d的渲染方面的借口不熟悉,故还得研究下。


最后的解决方案:

public class XXXXXX : MonoBehaviour
{
    void OnRenderObject()
    {
        UpdateAttributeTexture();
    }


    void UpdateAttributeTexture()
    {
        Vector3 pos = transform.position;


        if (mesh == null)
        {
            mesh = new Mesh();
            Vector3[] tPoints ..................
            int[] tTris ..................
            mesh.vertices = tPoints;
            mesh.triangles = tTris;
        }
        else
        {
                mesh.Clear(true);
                Vector3[] tPoints ..................
                int[] tTris ..................
                mesh.vertices = tPoints;
                mesh.triangles = tTris;         
        }

        if (mat == null)
        {
            Shader shader..................
            mat = new Material(shader);
        }

        mat.SetVector("_Color", color);

        if (mat.SetPass(0))
        {
            Graphics.DrawMeshNow(mesh, pos, rotation);
        }     
    }
}


应用的时候只要挂到相应的gameobj上面即可。

0 0
原创粉丝点击