Unity ShaderLab 实现网格爆炸

实现思路:

沿着3D物体每个面的法线,将面偏移一定的位置。

Shader Graph实现如下:

Shader Lab 实现如下:

Shader "Unlit/MeshExplode"
{Properties{_MainTex ("Texture", 2D) = "white" {}_Distance("Distance",Float) = 0}SubShader{Tags { "RenderType"="Opaque" }Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float4 normal : Normal;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;float _Distance;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex + v.normal * clamp(_Distance,0,100) * 0.01);o.uv = TRANSFORM_TEX(v.uv, _MainTex);return o;}fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col = tex2D(_MainTex, i.uv);return col;}ENDCG}}
}

实现效果如下:

参考链接:

Mesh Explosion in Shader Graph | Bytesize Gamedev (youtube.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/480309.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阅读《基于蒙特卡洛法的破片打击无人机易损性分析》_笔记

目录 基本信息 1 引言 1.1 主要研究内容 1.2 研究必要性(为什么要研究) 1.3 该领域研究现状(别人做了什么/怎么做的) 2 主要研究过程(我们做了什么) 2.1 建立目标仿真模型 2.2 确定毁伤依据 2.3 无…

如何让控件始终处于父容器的居中位置(父容器可任意改变大小)

1、改变父容器大小前 父容器是一个panel,控件是一个按钮button1 1)刚开始让button1的左边距离panel的左边缘和button1的右边距离panel的右边缘两个距离相等; 2)将button1的Anchor属性设置为None 2、改变父容器大小后 直接改变…

【线程】Java多线程代码案例(2)

【线程】Java多线程代码案例(2) 一、定时器的实现1.1Java标准库定时器1.2 定时器的实现 二、线程池的实现2.1 线程池2.2 Java标准库中的线程池2.3 线程池的实现 一、定时器的实现 1.1Java标准库定时器 import java.util.Timer; import java.util.Timer…

非递归遍历二叉树(数据结构)

我的博客主页 非递归遍历二叉树 前序遍历(迭代)中序遍历(迭代)后续遍历(迭代) 二叉树的遍历方式有:前序遍历、中序遍历、后续遍历,层序遍历,而树的大部分情况下都是通过递…

【CSS】一篇掌握CSS

不是因为有了希望才去坚持,而是坚持了才有了希望 目录 一.导入方式 1.行内样式 2.内部样式 3.外部样式(常用) 二.选择器 1.基本选择器(常用) 1.1标签选择器 1.2类选择器 1.3id选择器 2.层次选择器 2.1后代选择器 2.2子选择器 2.3相邻兄弟选择器 2.4通用兄弟选择器…

封装类与封装函数

目录结构 src/ ├── utils/ │ ├── test.js │ ├── Calculator.js ├── views/ │ ├── Home.vue ├── App.vue 共同点:模块导出与模块引入 封装函数 场景 简单、轻量级和性能敏感的场景,适合快速开发和维护。 优 可维护性&…

【论文阅读】Federated learning backdoor attack detection with persistence diagram

目的:检测联邦学习环境下,上传上来的模型是不是恶意的。 1、将一个模型转换为|L|个PD,(其中|L|为层数) 如何将每一层转换成一个PD? 为了评估第𝑗层的激活值,我们需要𝑐个输入来获…

5 Java字符串操作

字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArra…

IDEA报错: java: JPS incremental annotation processing is disabled 解决

起因 换了个电脑打开了之前某个老项目IDEA启动springcloud其中某个服务直接报错,信息如下 java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.depen…

Mybatis-基础操作

Mybatis的基础操作就是通过Mybatis完成对数据的增删改查。我们通过例子来引入这些操作,之前的项目较久远,因此我们从零开始进行准备工作: 搭建项目 一、创建数据库user_list并插入数据: -- 创建数据库 create table user_list …

火山引擎VeDI在AI+BI领域的演进与实践

随着数字化时代的到来,企业对于数据分析与智能决策的需求日益增强。作为新一代企业级数据智能平台,火山引擎数智平台VeDI基于字节跳动多年的“数据驱动”实践经验,也正逐步在AI(人工智能)与BI(商业智能&…

鼠标前进后退键改双击,键盘映射(AutoHotkey)

初衷: 1.大部分鼠标为不可自定义按键,可以自定义的又很贵。 鼠标左键是双击是很频类很高的操作,鼠标前进/后退按键个人感觉使用频率很低,因此把鼠标前进/后退改为双击还是很合适的。 2.有些短款的键盘没有Home或End键,…

IntelliJ IDEA安装内网穿透实现远程连接家里或公司的MySQL数据库助力开发

文章目录 前言1. 本地连接测试2. Windows安装Cpolar3. 配置Mysql公网地址4. IDEA远程连接Mysql5. 固定连接公网地址6. 固定地址连接测试 前言 本教程主要介绍如何使用Cpolar内网穿透工具实现在IDEA中也可以远程访问家里或者公司的数据库,提高开发效率!无…

联想品牌的电脑 Bios 快捷键是什么?如何进入 Bios 设置?

在某些情况下,您可能需要通过U盘来安装操作系统或进行系统修复。对于联想电脑用户来说,了解如何设置U盘作为启动设备是非常有用的技能之一。本文简鹿办公将指导您如何使用联想电脑的 U 盘启动快捷键来实现这一目标。 联想笔记本 对于大多数联想笔记本电…

MCU跨领域融合的风向标是什么?

【哔哥哔特导读】从市场竞争的加剧到技术发展的需求,从智能化趋势到安全性要求的提高,再到市场需求的变化,这些因素共同推动了MCU趋势的发展,那么,当前的发展方向是怎样的? 随着技术的飞速发展和市场需求的…

【Android+多线程】IntentService 知识总结:应用场景 / 使用步骤 / 源码分析

定义 IntentService 是 Android中的一个封装类,继承自四大组件之一的Service 功能 处理异步请求 & 实现多线程 应用场景 线程任务 需 按顺序、在后台执行 最常见的场景:离线下载不符合多个数据同时请求的场景:所有的任务都在同一个T…

AI自动化剪辑工具:可将长视频中精彩部分提取合成短视频

最近,我发现了一款特别适合当下短视频潮流的自动化工具,它能够让我们轻松从长视频中剪辑出精彩片段,并快速生成适合分享的短视频。 这款工具叫 AI Youtube Shorts Generator,是一个开源项目,特别适合那些喜欢制作短视…

Basemap 在地图上显示图例

1.卫星图像绘制 import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap # 图像绘制 plt.figure(dpi300) m Basemap(projectioncyl, llcrnrlat11, llcrnrlon105, urcrnrlat35, urcrnrlon135)raw_lat raw_lat[490:1080, 655:1470] raw_lon raw_lon[490:…

GitLab历史演进

GitLab 是一个基于 Git 的 DevOps 平台,它的历史演进反映了开发和运维协作工具的不断发展。GitLab 的目标是为开发团队提供一个集成的工具集,涵盖 源代码管理、CI/CD、项目管理 等功能。GitLab 最初只是一个 Git 仓库管理工具,但随着时间的推…

elasticsearch单节点模式部署

原文地址:elasticsearch单节点模式部署 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 第一步:下载 官方下载地址:Download Elasticsearch | Elastic,可以 wget 直接下载。 命令:wg…