<美术向TA入门课 From 庄懂> L01
本文最后更新于203 天前,其中的信息可能已经过时,如有错误请发送邮件到2939296129@qq.com

工程搭建

使用Unity2019,连连看用的ShaderForge,比较基础,这里就不多做说明了

基础知识 Part1

结构(Struct)

一些相关数据的组织方式(结构体)

渲染的过程

一般简单的渲染过程:


模型其实就是点、线、面这些信息的数据集合,可能还包含其他信息(UV、法线、顶点色)。

在渲染管线中,先读取模型的数据,输入到shader中;

在shader中,我们需要定义好输入结构体,来接收我们需要的模型数据。


输入结构接收到模型数据后,会传入顶点Shader中进行计算,主要进行空间转换的计算,可能会有顶点数据的计算(顶点动画),随后传入输出结构中。


随后传入到片元Shader中,进行颜色计算(光照等)


向量

很简单的数学知识,直接放图了。

点乘

也是数学知识

光照与明暗

图形学中,通过模型表面 法线方向 与 光照方向 点乘操作,可以得到-1到1的值;

注意:这里的光照方向,其实是模型表面点指向光源的方向

再将这个值钳制到0到1范围内,我们就可以得到光照的明暗变化

为什么要钳制到0-1:负值在颜色中同样是黑色,在计算中负值有可能会带来一些问题,所以钳制到01范围内更好

透气

在原来点乘得到值的基础上,使用另一种方式将值的范围变为01,也就是x0.5+0.5;

这样的做法会让明暗变化更加均匀,在美术上更透气(?),暗部不会特别黑。


基础知识 Part2

映射

同样是数学上的知识


调子映射

这里的意思就是给上述明暗部分上颜色,使用一张RampTexture渐变贴图,NdotL点乘结果作为u坐标,v坐标随意,Append合成一个新的向量,去采样Ramp贴图。


作业

做一个简单的卡渲效果


交一下作业:左边是自己魔改的,右边是正常做的

感觉做的非常的丑陋,主要是两个问题:

  1. 模型面数太少了
  2. ramp贴图效果并不好

方法一

这里用到的是一个叫BandedLight的魔改的光照模型,主要作用就是给颜色增加了一个floor,像分层一样的效果。

具体连连看:

先连个HalfLambert,然后乘上Step,floor一下,然后再除以Step

接下来用四种颜色分别Lerp

即可达成以上效果。


可以看到效果其实还是有的

这样做的好处在于可以不用采样贴图,直接选择颜色就可以实现这样的一个渐变效果。

缺点在于,在step参数比较低的时候,由于是lerp来的,整体效果有,但是细节部分的效果就差一点了,比如亮部不够亮,暗部不够暗,这样做更偏风格化一点,颜色与颜色之间有硬边。

step=4.2

如果把参数拉的很高效果也比较贴近Ramp图。

step=20

方法二

这个方法就是HalfLambert采样Ramp贴图来实现的

简单易懂,模型和贴图的质量决定了效果,这里模型面数就比较低,看起来一块一块的。

不同贴图下的效果:

评论区-贴图1
评论区-贴图2
课程贴图-1
课程贴图-2

总结

之前一直没有看这个入门课程,虽然课程里面的工具确实比较老了,但是还是让我收获很多。

不仅仅是一些基础的知识的补充,更是认识到了TA学习方法与思维方式。


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇