Unity3d 实现接触着色器,在接触点上为对象着色

Unity3d 实现接触着色器,在接触点上为对象着色,unity3d,shader,collision-detection,collision,shader-graph,Unity3d,Shader,Collision Detection,Collision,Shader Graph,在虚拟现实中的一个场景中,我试图用shader graph实现一个着色器,在我的手与立方体的每个接触点上,立方体都会得到一个简单的红点 我的想法是创建一个纹理,在这里我更改了相关顶点的颜色,然后将其应用于立方体,但我没有找到任何方法将纹理应用于立方体。然后我尝试直接用“VertexColor”节点修改顶点,但我不知道它是如何工作的,文档对我来说也不是很清楚 我也考虑过使用贴花,但我使用的是URP,Unity不支持投影仪,更喜欢使用着色器 因此,如果有人能提供任何帮助,我将不胜感激。您可以将收缩点

在虚拟现实中的一个场景中,我试图用shader graph实现一个着色器,在我的手与立方体的每个接触点上,立方体都会得到一个简单的红点

我的想法是创建一个纹理,在这里我更改了相关顶点的颜色,然后将其应用于立方体,但我没有找到任何方法将纹理应用于立方体。然后我尝试直接用“VertexColor”节点修改顶点,但我不知道它是如何工作的,文档对我来说也不是很清楚

我也考虑过使用贴花,但我使用的是URP,Unity不支持投影仪,更喜欢使用着色器


因此,如果有人能提供任何帮助,我将不胜感激。

您可以将收缩点传递给着色器,然后根据顶点和收缩点之间的距离设置顶点颜色。您好,谢谢您的回复。我想我还是不太了解顶点颜色节点,它代表一个特定的顶点吗?我怎么知道我在用哪个顶点计算距离?每个顶点都有一个颜色属性