DrawMeshNow用法

游戏新需求,渲染属性图标,所需需要自己动态构建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上面即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值