当前位置: 首页 > news >正文

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.lryc.cn/news/493395.html

相关文章:

  • 2024/11/28学习日志
  • 在shardingsphere执行存储过程
  • 1.文件目录操作
  • Vue单页面应用和多页面应用
  • Lombok :简化 Java 编程的得力工具
  • AIGC引领金融大模型革命:未来已来
  • DBA面试题-1
  • 用go语言写一个小服务
  • 亚马逊开发视频人工智能模型,The Information 报道
  • WordCloud参数的用法:
  • qml调用c++类内函数的三种方法
  • NLP任务四大范式的进阶历程:从传统TF-IDF到Prompt-Tuning(提示词微调)
  • GAMES101:现代计算机图形学入门-笔记-09
  • 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  • MySQL聚合查询分组查询联合查询
  • 告别照相馆!使用AI证件照工具HivisionIDPhotos打造在线证件照制作软件
  • 通信原理第三次实验
  • 【halcon】Metrology工具系列之 get_metrology_object_result_contour
  • A052-基于SpringBoot的酒店管理系统
  • NLP信息抽取大总结:三大任务(带Prompt模板)
  • python常见问题-pycharm无法导入三方库
  • 迅为RK3588开发板Android系统开发笔记-使用ADB工具
  • 什么是分布式数据库?
  • Leetcode 3363. Find the Maximum Number of Fruits Collected
  • 【数据仓库 | Data Warehouse】数据仓库的四大特性
  • springboot配置多数据源mysql+TDengine保姆级教程
  • dns实验2:反向解析
  • ZooKeeper 基础知识总结
  • npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法
  • 微信小程序蓝牙writeBLECharacteristicValue写入数据返回成功后,实际硬件内信息查询未存储?