2014-02-16 34 views
2

因此,我正在制作一个顶点着色器,让GameObject看起来像是在不断地收缩/扩展(脉动?)。如何将GameObject的转换位置传递给我的CG着色器?

我正在使用一个正常的比例矩阵乘以每个顶点的位置,但我想保持对象出现在相同的位置居中。如果我能得到正在渲染的gameObject的transform.position,我知道我可以保持中心位置相同。

那么,如何访问我的CG着色器中的gameobject的位置?

或者我不正确地接近这个问题?

vertexOut vert(vertexIn v) 
{ 
    vertexOut o; 

    o.pos = mul(UNITY_MATRIX_MVP,v.vertex); 
    o.pos2 = mul(UNITY_MATRIX_MVP,v.vertex); 


    float scaleVal = sin(_Time.y*10)/8 + 1.0; 
    float4x4 scaleMat = float4x4(
    scaleVal, 0, 0, 0, 
    0, scaleVal, 0, 0, 
    0, 0, 1, 0, 
    0, 0, 0, 1); 

    o.pos = mul(scaleMat,o.pos); 
    return o; 
} 
+0

您可以显示的任何代码? – Durandal

+0

啊,对于任何想知道解决方案的人来说,你都可以使用renderer.material.SetX来设置制服。 – Martin

回答

相关问题