- 博客(20)
- 收藏
- 关注
原创 【Shader基础】 UnityShader 燃烧溶解效果
此篇文章用Unity 的UnityShader代码分别实现了以下材质溶解效果。上述效果主要可拆解为两个部分,一是噪声裁剪,二是裁剪边缘上色。
2024-09-04 15:33:37
822
原创 【Shader基础】UnityShader 透视扫描效果
使用lerp节点,A节点插入主体颜色,B节点插入边缘颜色(乘以一个浮点数,控制边缘亮度),Alpha节点插入上面得到的菲涅尔系数(同时使用smoothstep平滑阶梯函数控制系数大小)。要做到边缘自发光,最直接的方式就是使用菲涅尔反射系数,在UnityShader中,我们常用单位化的顶点法线N点乘视线向量V来模拟(单位化的两个向量点乘的结果,是夹角的cos余弦值)。扫光效果的话,只是在实现了边缘自发光和半透明效果的基础上,加上一层上下/左右平移的高光纹理即可。先用ASE实现,接着用代码复现。
2024-09-03 16:41:49
1279
原创 【Shader基础】 UnityShader 实现基本漫反射(Lambert光照模型)
基础的光照模型包含镜面反射和漫反射,这篇笔记采用UnityShader的方法来实现一下基本的漫反射部分。
2024-09-01 16:54:00
410
原创 C++ 掷骰子课程设计(含源码)
每个骰子有6个面,点数为1、2、3、4、5、6。每轮掷2次骰子,如果和数为7或11则为胜,和数为2、3、12则为负。如果和数为其他值,则将此值作为游戏点数,继续掷骰子,直到两子之和为该值,即获得胜利。如果在之前两子之和为7或投掷次数超过6,则结果为负。(先看一下原理,如果需要的游戏规则和上面不同,可以自行改写,博主有在源码中标注位置)
2024-05-22 13:37:56
549
1
原创 UE4_UE5 剔除透视材质_材质函数
在虚幻引擎中,当我们向透过外壳看到内部的材质,或者透过布料/盔甲等看到人体,即可通过将该材质函数连接到相应的材质节点图中,达到这样的效果。
2024-05-21 10:58:55
795
原创 C++ 掷骰子游戏 (C++ 实例程序教学7)
通常rand()产生的随机数在每次运行的时候都是与上一次相同的,这是为了便于程序调试。若要产生每次不同的随机数,可以使用。3.根据上述游戏规则,进行一个switch流程控制,检测每次掷骰子后的两颗的点数和,更新游戏状态(赢了/输了/再掷一次)1.自定义一个返回整数类型的RollDice函数,模拟1-6的掷骰子过程;函数产生随机化种子,随着seed的不同,就能够产生不同的随机数。rand()不需要参数,它会返回一个。如果你需要一个1-100的随机整数,可使用。,最大随机数的大小通常是固定的一个。
2024-05-19 18:30:15
616
原创 C++ 十进制转八进制 (C++实例程序教学6)
先来看一下百度百科中对于八进制计数的定义: 将十进制转换为八进制的主要方法是“除八取余法”。例如下面的167,通过多次除八取余后得到了247的八进制数。转换为C++程序的逻辑,就是利用一个while循环,再余数大于零的情况下,不断地除八取余,并将余数逆序存储下来。二、八进制转回十进制将八进制转回十进制,其实就是对上述过程的逆向操作。对一个八进制字符串数,从末尾到头部,逐次乘以8的n次方(n代表这个数字是倒数第几个) 结果展示:完整代码可以到我的资源中下载,其实把上述两个代码块直接复制到
2024-05-15 13:36:22
1290
原创 UE4_UE5 用颜色贴图转化粗糙度/高光贴图(UE材质节点图大全4)
一、颜色贴图转化粗糙度/高光贴图粗糙度贴图一般来说就是颜色贴图的灰度图像取一定的阈值(常用0.3-0.8之间)。由此我们可以用一个Lerp线性插值节点,将颜色贴图的Alpha通道直接转化为粗糙度贴图,并连接到材质结果节点的粗糙度输入端。二、颜色贴图转化高光贴图同理,也是利用颜色贴图的Alpha通道,利用一个clamp限制节点(常用范围:0-0.5)这里是阿木,有什么疑惑随时私信沟通,加油❤
2024-05-13 10:23:04
1349
1
原创 UE4_UE5 制作写实的金属材质_自定义划痕(UE材质图表大全2)
一般来说,许多人制作金属材质可能就是找到材质网站下载一个具体的材质贴图包,这样的方法是普适的,但是,如果你想要自定义划痕,那就需要理解金属材质节点图的逻辑,并掌握添加和修改划痕的方法。下图中color1是金属的基础颜色,color2是边缘颜色,通过一个lerp节点进行混合,Alpha节点输入的是一个默认的菲涅尔系数。(一般来说,边缘颜色比基础颜色的饱和度更低,亮度更高,具体颜色见下图)这里线性插值红框内的Alpha值可以修改,或者提升为参数,Alpha越大,划痕越明显。(关于菲涅尔系数的理解,请移步。
2024-05-11 09:32:27
539
3
原创 UE4_UE5 自定义简单水材质(UE材质图表大全1)
首先是材质的颜色节点、粗糙度节点、透明度节点。(1/2/3/4键+右键空白处,可创建一/二/三/四维节点)接着是两个法线波动节点的叠加。最后是折射节点,将fresnel菲涅尔节点连接到材质结果节点的折射输入端。到这里,你基本已经实现了一个波纹流动的水材质。后续我会更新加上海面浪花的水面材质,可以到我的专栏中寻找。有问题随时私信沟通,加油❤。
2024-05-10 09:41:56
979
3
原创 UE4_UE5 关于字符串的处理
在虚幻引擎中,我们常常需用用Print String节点和String字符串变量来实现一些调试的目的,比如打印游戏帧数或者是某个传入的参数。
2024-05-09 09:18:15
821
3
原创 UE4_UE5 制作炫酷UI界面特效教程
本教程简单介绍了如何结合AE,在UE中制作炫酷的按钮动画,其原理可以迁移至其他的UI设计中,如网站界面设计和游戏界面设计中。
2024-05-08 09:14:16
4007
2
原创 C++ 求100以内的素数之和 (c++经典程序实例教程 4)
那么思路就是,用一个for循环,对2到sqrt(n)之间的整数进行遍历,依次对n进行整除,如果均无法除尽,则n为质数。当然如果你要求的质数范围并不是0-100,而是其他范围,可以修改代码中变量i和n的值。我是阿木呀,有任何问题可以私信沟通❤。n为质数,那就加到质数之和中。最后结果应该是1060。
2024-05-06 09:11:58
743
原创 C++ 整数反转输出(C++经典程序实例教程 3)
注意do while循环的内部逻辑,第一次循环是在结束后才进行条件判断,也就是n无论是多少,都会执行第一次,那么n
2024-05-05 09:39:44
699
原创 C++ 判断是否是闰年 (C++经典程序实例教程2)
闰年的年份,第一种情况是除得尽4且除不尽100,第二种情况是能够除尽400。“四年一闰,百年不闰,四百年再闰”再转换为C++的语境就是。转换为数学的理解就是,已知闰年的判断标准是。
2024-05-04 13:38:58
1274
1
ASE 2.0.7 Unity可视化shader编辑器(免费)
2024-09-03
C++课设小项目 掷骰子游戏(源码)
2024-05-22
UE 剔除透视材质-材质函数(可编辑)
2024-05-20
C++ 掷骰子小程序(源码)
2024-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人