【Unity ShaderGraph】| 物体靠近时局部溶解,根据坐标控制溶解的位置【文末送书】


前言


【Unity ShaderGraph】| 物体靠近时局部溶解,根据坐标控制溶解的位置

一、效果展示


二、根据坐标控制溶解的位置,物体靠近局部溶解

首先在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用来控制材质球的参数,脚本代码如下:

csharp 复制代码
using UnityEngine;

/// <summary>
/// 该脚本挂在要溶解的物体上
/// </summary>
public class DissolutionTest : MonoBehaviour
{
    /// <summary>
    /// 材质球
    /// </summary>
    public Material mat;
    /// <summary>
    /// 要靠近过来的物体
    /// </summary>
    public Transform m_targetObj;

    public GameObject matGo;

    void Update()
    {
        mat.SetVector("Vector3_5ed88c362a9e4bbca58e136b649d69fd", m_targetObj.position);
    }
}

SetVector方法的第一个参数为ShaderGraph中strengthReference值,根据自己的实际参数填写即可,也可以手动将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的书籍!
  • 总共抽三本,中的几率还是很大的哦~ 想看书的小伙伴参与起来!
  • 中奖信息下周一本篇文章评论区公布!记得留意呀!
  • 没抽到的,但是喜欢这本书的小伙伴也可以在网上自行购买哈,官方正品商店购买即可,目前本书也是五折优惠!

|-----------|
| 🚀 规则如上🚀 |

🎄推荐理由(⭐⭐⭐⭐)

  • 学习Unity知识的同时,还要注重实战案例学习,本书也是从Unity引擎的基本介绍开始,通过几个实战案例来深入学习Unity。
  • 如果你意识到自己是为游戏而生,并想要开发和制作游戏,那你一定会受到本书中真实的、独立的游戏实例的启发。
  • 《Unity实战(第3版)》介绍如何使用Unity游戏平台创建游戏。其中包含的许多2D、3D和AR/VR游戏示例能让你亲身体验Unity的工作流程和最先进的渲染引擎。
  • 目前本书已完全更新,介绍了Unity的XR工具包,展示了如何开始构建VR和AR应用。

没抽到的小伙伴也可以在官方商店购买哈,书还是很棒的,喜欢看书也可以买本看~

Unity实战(第3版) 京东官方链接在这,书本图片如下,喜欢的小伙伴参与起来吧!

相关推荐
异次元的归来2 小时前
Unity DOTS中的share component
unity·游戏引擎
向宇it5 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
白乐天_n6 小时前
腾讯游戏安全移动赛题Tencent2016A
安全·游戏
这是我586 小时前
C++打小怪游戏
c++·其他·游戏·visual studio·小怪·大型·怪物
_oP_i7 小时前
unity webgl部署到iis报错
unity
Go_Accepted7 小时前
Unity全局雾效
unity
向宇it7 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
tealcwu7 小时前
【游戏设计原理】21 - 解谜游戏的设计
游戏·游戏策划
清梦20207 小时前
经典问题---跳跃游戏II(贪心算法)
算法·游戏·贪心算法
tealcwu8 小时前
【游戏设计原理】22 - 石头剪刀布
游戏·游戏策划