跳转至

幻术一 向量

点乘

  • 几何意义:投影
  • 图形学意义:
    • 向量方向相同,结果为1
    • 相反,结果为-1
    • 垂直,结果为0
  • 点乘-引入Lambert光照模型Max(0,nDir* iDir)
    • 负数为无意义亮度,一般处理为0
  • 半Lambert:明度乘以0.5+0.5
    • 相当于把原来【-1,1】的【0,1】部分单独拿出来
    • 比Lambert透气,不至于暗部死黑
    • 缺点:和素描老师教的不一样( ![[Pasted image 20240926003338.png]]

幻术二 映射

RampTex

渐变贴图,传入uv获得颜色 * 如果渐变图明显分界,就成了卡渲效果 * 不用太大 * wrapMode:Clamp,不然可能会有黑点 * 不需要mipmap

调子映射

  • 先确定横向(R-U)还是纵向(G-V)
  • 将之前的半lambert颜色传入,就形成了一种彩色的SSS透光效果 ![[Pasted image 20240926005754.png]]

玉石材质

  • Lerp下面三个的结果(线性插值?)
    • 渐变映射:绿色
    • 给高光一个自己想要的颜色
    • 单独算高光,形成黑白纹理
  • 再叠加(可以尝试下多种叠加方式)个菲涅尔(Fresnel)效果
    ![[Pasted image 20240926013554.png]]

排线材质

  • 取屏幕uv,采样排线贴图(特点,固定在屏幕,不会跟着模型走) ![[Pasted image 20240926013932.png]]
  • 再乘以深度变化,纹理会跟随远近发生大小变化(给人一种依附在模型上的感觉,但并不是)
  • 使用渐变纹理,用Step(取代if,暗部为黑则一直为黑,高光为白则全为白)融合 ![[Pasted image 20240926014526.png]]
  • 叠加渐变,映射则可以变为其他颜色

Halftone材质

  • 和排线类似,也是先映射屏幕uv给纹理
  • 对屏幕坐标取余数(整除的大小控制密集程度)--横坐标 ![[Pasted image 20240926015808.png]]
  • 横轴纵轴一起算,就可以算作分割uv了 ![[Pasted image 20240926015909.png]]
  • 再将颜色设计成【-0.5,0.5】
  • 再取长度(距离每一块的中心点),就能实现大量黑点
  • 和渐变纹理融合(使用power)
  • 四舍五入,删除渐变

各种Ramp效果

![[Pasted image 20240926021223.png]]