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;
}
您可以显示的任何代码? – Durandal
啊,对于任何想知道解决方案的人来说,你都可以使用renderer.material.SetX来设置制服。 – Martin