庄懂技术美术入门课笔记_L15_特效动态实现方式(UV流动&UV扰动)

概述

1、排序问题

在这里插入图片描述

解决办法:
1、渲染顺序和顶点序号有关,可在DCC软件中Detach,再Attach,排序问题可能会得到缓解
2、Zwrite Off(一般特效会把Zwrite关掉,通过排序的手段给物体排序)

特效排序一般有三个手段:(优先级从上到下)
1、RenderQueue
2、Sorting Layer
3、Sorting Order

为什么看不到小人的身体?
前期先渲染深度图,通过比较需要渲染的像素和深度图对应像素的深度值大小决定其是否渲染。
小人的手先写入深度缓冲区,所以在后面的身体部分深度值大于手,故不能渲染

2、Alpha通道预乘问题

在这里插入图片描述

  • 特效库中的图各种各样,有做预乘的,有没有做预乘的。
  • 在贴图中没有预乘,就要在混合时或像素shader里进行预乘,效果有细微差别但问题不大。

UV流动

1、演示:GhostFlow

在这里插入图片描述

2、代码

在这里插入图片描述
在这里插入图片描述

  • 对背景有压暗有提亮一般是AB,全提亮一般是AD。
  • 一般特效的四方连续图要支持Tilling。要声明_NoiseTex_ST,才能支持Transform_Tex()函数。
  • frac()取余,取小数部分,安全健康。
  • 特效最不喜欢暗,所以要为噪声图做一个remap,_NoiseTex值域[0,1],想要让中间值变成1,可以提亮一倍,也可以压暗到0。[0,1]->[0,2]。var_NoiseTex * 2.0,即可。
  • 特效不必拘谨,lerp的第三个参数范围可以放大,记得用max()去掉负值。

UV扰动

1、演示:GhostWarp

在这里插入图片描述

2、准备WarpTex

在这里插入图片描述

  • 和UV流动不同的是,UV流动是单通道图,UV扰动是三通道图。要有两个通道控制扭曲方向,还有一个通道控制噪声纹理。
  • 参数面板比UV流动多一个扭曲强度。

3、代码

在这里插入图片描述
在这里插入图片描述

  • 先采样扭曲图,再用采样出来的uv去采_MainTex
  • 法线通道值域[0,1],希望uv往正反都去偏移,故-0.5,可以remap到[-0.5,0.5]
  • noise做lerp是为了影响opacity的值,使透明度有变化。var_WarpTex.b = 0.5时,noise = 1;var_WarpTex.b < 0.5时,noise < 1。后面opacity乘noise便可影响透明度。

实验结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值