着色器图的“顶点颜色”节点是否从与mesh.colors相同的数据中读取?

时间:2019-01-12 04:26:05

标签: c# unity3d shader unity3d-shaders

我正在设计一个脚本/着色器解决方案来基于物理碰撞渲染战斗伤害,我正在使用新的轻量级渲染管道来节省着色器原型制作的时间,但是在运行时设置“顶点颜色”似乎没有任何效果在我的代码上。

    void Start () {
    MF = GetComponent<MeshFilter>();
    M = MF.mesh;
    Colours = new List<Color>(M.colors);
    for (int Index = 0; Index < Colours.Capacity; Index++) Colours[Index] = StartColour;
    M.colors = Colours.ToArray();
    MF.mesh = M;
}

// Update is called once per frame
void FixedUpdate () {
    for (int Index = 0; Index < Colours.Capacity; Index++)
    {
        Colours[Index] = Colours[Index] * 0.5f;
        Colours[Index] = new Color (Colours[Index].r, Colours[Index].g, Colours[Index].b, Colours[Index].r * Colours[Index].b * Colours[Index].g);
    }

    M.colors = Colours.ToArray();
    MF.mesh = M;
}

https://imgur.com/UI1i3qM

我希望看到我的球体开始变红,然后逐渐消失,直到再次被阴影化。但我只是看到这个
https://imgur.com/R5PxpbI
完全没有变化,只是保持不变。

0 个答案:

没有答案