【发布时间】:2014-02-16 03:26:12
【问题描述】:
所以我正在制作一个顶点着色器,以使游戏对象看起来像是在不断地收缩/扩展(脉动?)。
我正在使用一个正常的比例矩阵来乘以每个顶点的位置,但我想让对象出现在同一个位置的中心。如果我可以得到正在渲染的游戏对象的 transform.position,我知道我可以保持中心位置不变。
那么我将如何访问游戏对象在我的 CG 着色器中的位置?
还是我错误地处理了这个问题?
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;
}
【问题讨论】:
-
您可以显示任何代码吗?
-
啊,想知道解决方法的朋友,可以使用renderer.material.SetX来设置制服。