我有一个碰撞检测模拟,并希望让碰撞发生的位置一目了然。由于我有复合碰撞器,我只想为碰撞网格的顶点着色,这些顶点距离碰撞一定距离内。我一直在考虑内部有约束光源的球体,但那是不可能的。
答案 0 :(得分:0)
目前还不清楚您的问题究竟是什么。
我假设您已经确定了碰撞和距离部分,但是您想以某种方式为顶点分配颜色?如果是这样,您可以使用 Unity 的 Color.Lerp(startColor, endColor, normalizedDistance)
where normalizedDistance = currentDistanceFromPoint/maximumDistanceFromPoint
找到该点并像这样分配它:
Mesh mesh = GetComponent<MeshFilter>().mesh;
Vector3[] vertices = mesh.vertices;
Color[] colors = new Color[vertices.Length];
for (int i = 0; i < vertices.Length; i++)
colors[i] = Color.Lerp(Color.red, Color.green, normalizedDistance);
mesh.colors = colors;