首先在Project下右键 Creat - > Shader Graph -> URP -> Lit Shader Graph
创建一个Lit Shader Graph
。
然后双击打开该ShaderGraph,在ShaderGraph 面板
中的Graph Inspector面板
上打开Alpha Clipping
选项,这样在主节点中才会出现Alpha 和Alpha Clipping参数,将Alpha 改为0.5。
这里声明了一个Vector3类型的targetpos变量用于接收外部目标物体的坐标位置,Float类型的strength用来控制溶解的强度。
根据Position
节点和targetpos
的信息,使用Distance
节点来计算 目标位置 距离我们要溶解的模型的顶点坐标的距离,根据这个距离配合噪声节点来控制溶解的触发效果。
创建完上述ShaderGraph之后在Project下创建一个材质球Material,然后将该ShaderGraph拖到该材质球上即可应用。
此时在场景中添加两个GameObject进行测试,将材质球拖到其中一个对象上用于触发溶解效果,另一个对象用来靠近第一个物体。
还需要创建一个脚本DissolutionTest.cs
用来控制材质球的参数,脚本代码如下:
using UnityEngine;
///
/// 该脚本挂在要溶解的物体上
///
public class DissolutionTest : MonoBehaviour
{
///
/// 材质球
///
public Material mat;
///
/// 要靠近过来的物体
///
public Transform m_targetObj;
public GameObject matGo;
void Update()
{
mat.SetVector("Vector3_5ed88c362a9e4bbca58e136b649d69fd", m_targetObj.position);
}
}
SetVector方法的第一个参数为ShaderGraph中strength
的Reference
值,根据自己的实际参数填写即可,也可以手动将strength的Reference值给修改成指定数值。
将该脚本拖到场景中想要进行溶解的物体身上,然后将对应的溶解效果材质和目标对象拖到该脚本中。
使用这个材质可以做一些有趣的玩法,比如有些地方或物品,需要玩家靠近后开始溶解并显示内部的场景,增加游戏趣味性。
博客主页:https://xiaoy.blog.csdn.net
本文由 呆呆敲代码的小Y 原创
学习专栏推荐:Unity系统学习专栏
游戏制作专栏推荐:游戏制作
Unity实战100例专栏推荐:Unity 实战100例 教程
欢迎点赞 收藏 ⭐留言 如有错误敬请指正!
未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
资料白嫖,技术互助
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
Unity系统学习专栏 | 入门级 | 本专栏从Unity入门开始学习,快速达到Unity的入门水平 |
Unity实战类项目 | 进阶级 | 计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。 |
❤️ 游戏制作专栏 ❤️ | 难度偏高 | 分享学习一些Unity成品的游戏Demo和其他语言的小游戏! |
游戏爱好者万人社区 | 互助/吹水 | 数万人游戏爱好者社区,聊天互助,白嫖奖品 |
Unity100个实用技能 | Unity查漏补缺 | 针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺 |
最后在评论区进行抽取三名幸运的小伙伴
送下面这本书籍
这次博主多方联系,最终搞到了一些unity 相关的书籍,在这里搞个小活动抽奖送给大家,对看书感兴趣的小伙伴可以参加一波呀,刚开始可能参与的不多,抽中概率很大哦!
《Unity实战(第3版)》
一本非常经典的Unity实战 游戏开发
编程名著,结合Unity开发使用效果卓佳!
尤其是想从事Unity开发游戏的小伙伴,这本书就可以让你了解Unity实战用到的相关知识,对症下药可以极大地提高学习效率!
抽奖规则
规则如下:
规则如下 |
点赞
收藏
评论
三连,然后在评论区评论里抽取三个小伙伴
!送一本Unity的书籍!抽三本
,中的几率还是很大的哦~ 想看书的小伙伴参与起来!中奖信息
下周一本篇文章评论区公布!记得留意呀!规则如上 |
推荐理由(⭐⭐⭐⭐)
没抽到的小伙伴也可以在官方商店购买哈,书还是很棒的,喜欢看书也可以买本看~