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

    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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    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版) 京东官方链接在这,书本图片如下,喜欢的小伙伴参与起来吧!
    在这里插入图片描述

  • 相关阅读:
    Fastjsonfan反序列化(1)
    设计模式(二)创建模式
    力扣leetcode 827. 最大人工岛
    从算盘到云计算:计算机发展的壮丽历程
    【UE】材质描边、外发光、轮廓线
    vue前端解决跨域【vue.config.js】
    如何按照洁净区不同等级选择不同流量的粒子计数器设备?
    数据结构之顺序表
    Kafka:C++ 实践
    Python实现支持向量机SVM分类模型(SVC算法)并应用网格搜索算法调优项目实战
  • 原文地址:https://blog.csdn.net/zhangay1998/article/details/134324536