当前位置: 首页 > article >正文

Unity | AmplifyShaderEditor插件基础(第五集:简易膨胀shader)

一、👋🏻前言

大家好,我是菌菌巧乐兹~本节内容主要讲一下,如何用shader来膨胀~

效果预览:

二、💨膨胀的基本原理

之前的移动是所有顶点朝着一个方向走,所以是移动

如果所有顶点照着自己的方向走,就是膨胀,顶点自己的方向一般就是法线方向

法线方向

三、💥手动膨胀

1.把模型准备好

模型在群里,或附带资源,或这是unity商店免费模型,模型如图所示

2.把之前学过的shader准备好


以上是准备工作,就不多讲了,随着前面讲的东西越来越多,后续我都会把准备工作直接放在上面,请大家自己解锁

下面是新知识点 


3.节点VertexNormal

吐槽一下:不得不感叹,在写一些简单的shader时,ASE就是方便

如图所示,我们获取到了顶点的法线,法线的坐标是(-1,-1,-1)到(1,1,1)之间的 

我有了法线坐标,然后如果希望大一点,就乘大一点的normalScale,如果希望小一点,就让normalScale小一点

把节点连到顶点偏移上

normalScale是外部更改的,去外面更改它

四、🚗自动膨胀

1.自动膨胀的原理

我先把手动膨胀的值调到我希望的位置,然后这是一个值

我把这个值和上节课的sin乘一下,就会在值×(-1)到值×(1)之间变动

其实变成负值就很奇怪了,所以我们需要把sin的值变成(0,1)之间

总结:

a.把sin的(-1,1)的自动变化变成(0,1)

b.把这个sin的值和手动膨胀的值乘一下

2.sin的变化(节点remap)

右边的这个remap是换值的节点

min old        老值的最小值        这里填-1

max old        老值的最大值        这里填1

min new        新值的最小值        这里填0

max new        新值的最大值        这里填1

备注:这个是等比的换

如原来是-1,现在是0

原来是0的时候,现在就是0.5

3.把两个准备好的数值乘一下

4.结果

 

五、😄结语

非常感谢你的观看,如果你觉得我帮到你了,可以给我点一个赞吗~

我会为此创作更多的文章。

http://www.lryc.cn/news/2404468.html

相关文章:

  • Django核心知识点全景解析
  • 生物发酵展同期举办2025中国合成生物学与生物制造创新发展论坛
  • WINUI——Magewell视频捕捉开发手记
  • Jetpack Compose 中,DisposableEffect、LaunchedEffect 和 sideEffect 区别和用途
  • STM32开发,创建线程栈空间大小判断
  • 正则表达式检测文件类型是否为视频或图片
  • Qwen大语言模型里,<CLS>属于特殊的标记:Classification Token
  • TDengine 开发指南——无模式写入
  • 分布式互斥算法
  • 第34次CCF-CSP认证真题解析(目标300分做法)
  • video-audio-extractor:视频转换为音频
  • rk3588 区分两个相同的usb相机
  • [概率论基本概念4]什么是无偏估计
  • 乐观锁与悲观锁的实现和应用
  • PL/SQLDeveloper中数值类型字段查询后显示为科学计数法的处理方式
  • 【vue】Uniapp 打包Android 文件选择上传问题详解~
  • ASR技术(自动语音识别)深度解析
  • 图论水题2
  • Ctrl-Crash 助力交通安全:可控生成逼真车祸视频,防患于未然
  • 网络编程之服务器模型与UDP编程
  • Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型时序预测
  • 阿里云服务器安装nginx并配置前端资源路径(前后端部署到一台服务器并成功访问)
  • Ubuntu 下开机自动执行命令的方法
  • C++11新增重要标准(下)
  • 【第六篇】 SpringBoot的日志基础操作
  • Pluto论文阅读笔记
  • ubuntu显示器未知
  • Faiss向量数据库全面解析:从原理到实战
  • matlab 2024a ​工具箱Aerospsce Toolbox报错​
  • 使用有限计算实现视频生成模型的高效训练