Materials - DistanceField Nodes

以前的相关笔记,归档发布;

距离场相关节点

DistanceToNearestSurface节点

求出传入的Position位置到最近的面的距离并输出,在没有Position输入的时候,默认值会直接使用World Position:

Position的默认值即为World Position;其为输出Pixel Position到最近的Surface的距离值;

加上一个偏移值参数:

能达成最简单的功能:

注意只有地面面片Mesh给予了距离场相关材质;

下面是简单的示例:

使用节点时注意在项目设置中打开距离场相关参数

DistanceToNearestSurface节点在制作如物件和地面接触相关的一些效果时非常有用;一般可以利用节点制作一个Mask作为Alpha输入:

这个Mask可以用在Normal上,比如让物件的World Normal与地面融合:

主要方式是让mask出来的地方法线朝上:

A输入的是正常的Tangent Normal Map,B如上输入的是World Space中朝上的法线,需要转换为Tangent;

也可以配合World Position Offset让接触地面的部分变形:

节点如下:

DistanceFieldGradient节点

这个节点不像DistanceToNearestSurface输出的只是一个距离值,而是向量值;同样用最简单的例子表示:

只有地面材质Mesh给予了相关材质,其不同的向量值输入到BaseColor映射成了不同颜色;

由于是向量值,所以有时需要归一化:

DistanceFieldGradient配合DistanceToNearestSurface可以做一些如草地交互的效果,DistanceFieldGradient控制交互向量,然后用DistanceToNearestSurface控制交互范围;


  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoomGT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值