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

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.lqws.cn/news/205525.html

相关文章:

  • ThingsCloud事物云平台搭建-微信小程序
  • 【基础算法】差分算法详解
  • 【Linux】SSH:免密登录
  • Design Theory and Method of Complex Products: A Review
  • 数据通信基础
  • 【51单片机】2. 进阶点灯大师
  • AI浪潮下的IT行业:威胁、转变与共生之道
  • 小白成长之路-Linux Shell脚本练习
  • PC与Windows远程连接与串流:方案简介(ZeroTier + Parsec、Moonlight + Sunshine、网易UU远程)
  • Vue3 项目的基本架构解读
  • CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)
  • C# 类和继承(扩展方法)
  • React Hooks 示例项目
  • 基于 STM32 的四路 PWM 控制智能小车运动的模块化控制程序
  • natapp 内网穿透失败
  • 基于 TAPD 进行项目管理
  • [论文阅读] 人工智能 | 搜索增强LLMs的用户偏好与性能分析
  • ubuntu中使用docker
  • 如何在Unity中实现点击一个按钮跳转到哔哩哔哩
  • Xela矩阵三轴触觉传感器的工作原理解析与应用场景
  • 深入解析HarmonyOS5 UIAbility组件:从核心架构到实战应用
  • 计算矩阵A和B的乘积
  • 15-Oracle 23ai Vector Search Similarity Search-向量相似性和混合搜索-实操
  • Mac软件卸载指南,简单易懂!
  • 不要调用 TOARRAY() 从 LARAVEL COLLECTION 中获取所有项目
  • 基于Flask框架的前后端分离项目开发流程是怎样的?
  • Android启动时长优化(kernel部分)
  • 数学:花括号在数学中的应用详解
  • SQL进阶之旅 Day 20:锁与并发控制技巧
  • 锁的艺术:深入浅出讲解乐观锁与悲观锁