原创作品

材质与数学思维

坏熊猫 发表于   2021-06-29 17:49:01
5799
15
68

对于溶解效果 想必大家不会陌生 从最早的巧妙使用if判断 然后到使用step剔除等等算法 层出不穷 这里给大家分享一种简单 高效 实用的算法 并让你深入理解数学是如何在其中发挥作用 看完后你一定会说 原来看一些大佬连的加减乘除完全不懂 原来原理这么简单

首先我们做个简单的测试如下(因为是灰度图 rgb三通道数据相同 我后面就以其中一个通道数据例举了)

15BEC9B3-BB8B-49d9-9DAD-568F07F8E42D.png


我们可以想象下 图片上有很多的点 每一个点的颜色rgba信息就是其对应的数据 数据最后又以颜色的形式输出,这个数据和颜色对应关系如下图所示(可以想象下ps里的曲线)

未标题-1.png

现在我们想做一个这样的变化,那就是让输入的数据小于0.1的部分全部显示为黑色,高于0.1的部分我们依旧显示为从黑到白的渐变,这样这张图片的白色像素会减少,有种溶解的感觉;

image.png

那么我们根据我们的想法重新调整下这张图,如下

2.png

这样我们的图片还是渐变柔和的 并且将数据小于0.1的部分全部显示为了黑色(y轴小于等于零都是黑色)。到这里我们的设计思路就很清晰了,我们就是要把之前的那根直线变成下面这根直线,以达到溶解了部分像素的感觉。


下面翻出初中课本 找到两点式直线方程

(y-y2)/(y1-y2)=(x-x2)/(x1-x2)且x1不等于X2;y1不等于y2.

我们可以看到上图中的直线经过了(0.1,0)(1,1)这两个点,那么我们根据两点式带入方程(y-0)/(1-0)=(x-0.1)/(1-0.1);(0<=x<=1);简化下就是y=(x-0.1)/0.9;(0<=x<=1),这里因为我们是使用图片输入的数据,图片记得的从黑到白数据在0和1之间 所以我们的x有取值范围。

到这里数学模型就找到啦,y就代表输出的数据,x就是输入的源数据,是不是迫不及待地去测试下啦

image.png

输出结果完美!就是我们想要的!

然后我们现在只是让小于0.1以下的像素变成黑色,如果这个值是个变化的呢 比如0.2,0.3等等介于0-1之间的数,这里我们假设一个变量(x1,0)其中0<=x1<=1;如图所示

3.png

那么现在这两个点就变成了(x1,0)(1,1),重新带入公式(y-0)/(1-0)=(x-x1)/(1-x1);(0<=x1<=1;0<=x<=1),简化下就是y=(x-x1)/(1-x1);(0<=x1<=1;0<=x<=1)

继续打开ase,无脑照着方程连线就好

image.png

然后试着调整x1,32145.gif

是不是之前完全看不懂的加减乘除突然豁然开朗,原来是这么回事。在此基础上的延申,还能做出很多效果或功能 这里我就不多赘述了 只是想通过这个文章让大家更多的了解数学在材质中的应用。

标签:
确定
评论(15)
你的老可爱
请问软溶解没法做溶解亮边吧,过渡到边缘好像就虚化掉了。只能用step或者if这种硬融做减法得亮边吧?
回复
305天前
Ch澄
感谢大佬~终于能理解一点连连看的原理~~~
回复
426天前
栗栗诗
现在做特效还要数学好吗,那我完蛋了...
回复
741天前
坏熊猫
回复
栗栗诗
那倒不用 走美术方向啊
回复
741天前
吾川内富
我一个美术生都看懂了!!tql熊猫大佬我爱你!!!
回复
767天前
砼狗不悔
为啥用shaderforge连完后,能变黑,但也真的是就是黑色,连各种通道黑色都不透明,即使连透明剪切效果也不太对。。。用STEP或者加法的溶解套路都没问题。
回复
907天前
坏熊猫
回复
砼狗不悔
连透明通道去 透明通道黑色就是半透
回复
905天前
奈之若何丶
痴呆.jpg
回复
943天前
彳余夕丶犬灬
我高中学的数学是体育老师教的
回复
984天前
肥锅肉肉
这个好棒好棒, 期待熊猫大佬分享更多的技巧
回复
1007天前
雨山
我看懂了~~
回复
1012天前
坏熊猫
回复
雨山
雨佬!
回复
1011天前
雨山
回复
坏熊猫
原来是熊猫大佬啊,材质这块你确实吃的透啊~
回复
1008天前
Albert
痴呆.jpg
回复
1015天前
Cytus
多谢分享
回复
1019天前
我是一颗小粒子
完全看不懂。。。 GG
回复
1019天前
stshe
痴呆.jpg
回复
1019天前
cokey
学习了~~
回复
1019天前
aman27
感觉 还是if好用呀
回复
1020天前
坏熊猫
回复
aman27
if性能差 而且边缘很硬 贴图精度稍微差点边缘就非常粗糙
回复
1020天前
没有更多啦~
  • 咨询
    客服
  • 扫码加入QQ群 或搜索QQ群号: 797421367
  • 扫码关注公众号 或微信搜索: cokey游戏特效