前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Unity ShaderGraph】| 物体靠近时局部溶解,根据坐标控制溶解的位置【文末送书】

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

作者头像
呆呆敲代码的小Y
发布2023-11-11 10:12:37
2400
发布2023-11-11 10:12:37
举报
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

前言

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

代码语言:javascript
复制
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例 教程
  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📆 未来很长,值得我们全力奔赴更美好的生活✨
  • ------------------❤️分割线❤️-------------------------
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 【Unity ShaderGraph】| 物体靠近时局部溶解,根据坐标控制溶解的位置
  • 一、效果展示
  • 二、根据坐标控制溶解的位置,物体靠近局部溶解
  • 三、应用实例
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档