以前的相关笔记,归档发布;
距离场相关节点:
DistanceToNearestSurface节点:
求出传入的Position位置到最近的面的距离并输出,在没有Position输入的时候,默认值会直接使用World Position:
加上一个偏移值参数:
能达成最简单的功能:
下面是简单的示例:
使用节点时注意在项目设置中打开距离场相关参数;
DistanceToNearestSurface节点在制作如物件和地面接触相关的一些效果时非常有用;一般可以利用节点制作一个Mask作为Alpha输入:
这个Mask可以用在Normal上,比如让物件的World Normal与地面融合:
主要方式是让mask出来的地方法线朝上:
也可以配合World Position Offset让接触地面的部分变形:
节点如下:
DistanceFieldGradient节点:
这个节点不像DistanceToNearestSurface输出的只是一个距离值,而是向量值;同样用最简单的例子表示:
由于是向量值,所以有时需要归一化:
DistanceFieldGradient配合DistanceToNearestSurface可以做一些如草地交互的效果,DistanceFieldGradient控制交互向量,然后用DistanceToNearestSurface控制交互范围;