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

自己建网站 知乎/郑州seo排名第一

自己建网站 知乎,郑州seo排名第一,微信营销策划方案,太原论坛1 前言 选中物体消融特效中基于 Shader 实现了消融特效,本文将基于 Shader Graph 实现消融特效,两者原理一样,只是表达方式不同,另外,选中物体消融特效中通过 discard 丢弃片元,本文通过 alpha 测试丢弃片元…

1 前言

        选中物体消融特效中基于 Shader 实现了消融特效,本文将基于 Shader Graph 实现消融特效,两者原理一样,只是表达方式不同,另外,选中物体消融特效中通过 discard 丢弃片元,本文通过 alpha 测试丢弃片元。

        Shader Graph环境搭建、简单应用详见→Shader Graph简介。

        本文完整资源见→Unity3D消融特效。

2 消融特效实现

        创建 Unlit Shader Graph,重命名为 DissolveEffect,编辑如下。 

        其中,Alpha 测试需要在 Graph Settings 中开启,如下。

        为实现点击消失效果,需要编写脚本如下。

        DieController.cs

using UnityEngine;public class DieController : MonoBehaviour {private RaycastHit hit; // 碰撞信息private void Start() {hit = new RaycastHit();}private void Update() {if (Input.GetMouseButtonUp(0)) {GameObject hitObj = GetHitObj();if (hitObj != null) {GameObject rootObj = GetRootObj(hitObj);rootObj.AddComponent<DissolveEffect>();}}}private GameObject GetHitObj() { // 获取屏幕射线碰撞的物体Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (Physics.Raycast(ray, out hit)) {return hit.collider.gameObject;}return null;}private GameObject GetRootObj(GameObject obj) { // 获取根对象while (obj.transform.parent != null && obj.layer == obj.transform.parent.gameObject.layer) {obj = obj.transform.parent.gameObject;}return obj;}
}

        DissolveEffect.cs

using UnityEngine;[DisallowMultipleComponent] // 不允许在同一对象上挂载多个该组件
public class DissolveEffect : MonoBehaviour {private Renderer[] renderers; // 渲染器private Material dissolveMat; // 消融材质private float burnSpeed = 0.25f; // 燃烧速度private float burnAmount = 0; // 燃烧量, 值越大模型镂空的越多private void Awake() {dissolveMat = Resources.Load<Material>("DissolveMat");renderers = GetComponentsInChildren<Renderer>();}private void OnEnable() {foreach (Renderer renderer in renderers) {Material[] materials = renderer.sharedMaterials;Material[] dissolveMaterials = new Material[materials.Length];for (int i = 0; i < materials.Length; i++) {Material newMaterial = new Material(dissolveMat);SetTexture(materials[i], newMaterial);SetColor(materials[i], newMaterial);newMaterial.SetFloat("_BurnAmount", 0);dissolveMaterials[i] = newMaterial;}renderer.sharedMaterials = dissolveMaterials;}}private void Update() {burnAmount += Time.deltaTime * burnSpeed;foreach (Renderer renderer in renderers) {Material[] materials = renderer.sharedMaterials;foreach (Material material in materials) {material.SetFloat("_BurnAmount", burnAmount);}}if (burnAmount >= 1f) {Destroy(gameObject);}}private void SetTexture(Material oldMaterial, Material newMaterial) { // 设置材质if (oldMaterial.HasTexture("_MainTex")) {Texture texture = oldMaterial.GetTexture("_MainTex");newMaterial.SetTexture("_MainTex", texture);}}private void SetColor(Material oldMaterial, Material newMaterial) { // 设置颜色Color color = Color.white;if (oldMaterial.HasColor("_Color")) {color = oldMaterial.GetColor("_Color");}newMaterial.SetColor("_Color", color);}
}

        运行效果如下。

相关文章:

【Unity3D】消融特效

1 前言 选中物体消融特效中基于 Shader 实现了消融特效&#xff0c;本文将基于 Shader Graph 实现消融特效&#xff0c;两者原理一样&#xff0c;只是表达方式不同&#xff0c;另外&#xff0c;选中物体消融特效中通过 discard 丢弃片元&#xff0c;本文通过 alpha 测试丢弃片元…...

10.Eclipse配置Tomcat详细教程、如何使用Eclipse+tomcat创建并运行web项目

一、Tomcat的下载官网 -> 进入官网显示如图所示的界面&#xff0c;在下下载的是Tomcat9.0版本&#xff0c;你可以自己选一款 点击然后进入下面这个界面 最好是在你的D盘建立一个文件夹&#xff0c;把它解压在里面&#xff0c;文件夹名自己来吧&#xff0c;自己能知道里面装…...

MySQL索引1——索引基本概念与索引结构(B树、R树、Hash等)

目录 索引(INDEX)基本概念 索引结构分类 BTree树索引结构 Hash索引结构 Full-Text索引 R-Tree索引 索引(INDEX)基本概念 什么是索引 索引是帮助MySQL高效获取数据的有序数据结构 为数据库表中的某些列创建索引&#xff0c;就是对数据库表中某些列的值通过不同的数据结…...

2023-08-06力扣今日四题

链接&#xff1a; 剑指 Offer 59 - II. 队列的最大值 题意&#xff1a; 如题&#xff0c;要求O1给出数列的最大值 解&#xff1a; 类似滑动窗口 1 1 2 1 2用双端队列存储成2 2&#xff08;每次从前面获取最大值&#xff0c;后面插入新数字&#xff09;也就是第一个2覆盖了…...

Kubernetes入门 三、命令行工具 kubectl

目录 语法操作示例资源操作Pod 与集群资源类型与别名格式化输出 kubectl 是 Kubernetes 集群的命令行工具&#xff0c;通过它能够对集群本身进行管理&#xff0c;并能够在集群上进行容器化应用的安装和部署。 语法 使用以下语法从终端窗口运行 kubectl 命令&#xff1a; kub…...

18 | 基于DDD的微服务设计实例

为了更好地理解 DDD 的设计流程&#xff0c;这篇文章会用一个项目来带你了解 DDD 的战略设计和战术设计&#xff0c;走一遍从领域建模到微服务设计的全过程&#xff0c;一起掌握 DDD 的主要设计流程和关键点。 项目基本信息 项目的目标是实现在线请假和考勤管理。功能描述如下…...

router和route的区别

简单理解为&#xff0c;route是用来获取路由信息的&#xff0c;router是用来操作路由的。 一、router router是VueRouter的实例&#xff0c;通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象&#xff0c;这个对象中是一个全局的对象&#xff0c;他包含了所…...

每日后端面试5题 第五天

一、Redis的常用数据类型有哪些&#xff0c;简单说一下常用数据类型特点 1.字符串string 最基本的数据存储类型&#xff0c;普通字符串 SET key value 2.哈希hash 类似于Java中HashMap的结构 HSET key field value 3.列表list 按照插入顺序排序&#xff0c;操作左边或右…...

BGP基础实验

题目 IP地址配置 R1 R2 R3 R4 R5 AS2内全网通 R2&#xff1a; ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 2.2.2.0 0.0.0.255 network 23.1.1.0 0.0.0.255 R3&#xff1a; ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 3.3.3.0 0.0.0.255 network 23.…...

在excel中整理sql语句

数据准备 CREATE TABLE t_test (id varchar(32) NOT NULL,title varchar(255) DEFAULT NULL,date datetime DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; INSERT INTO t_test VALUES (87896cf20b5a4043b841351c2fd9271f,张三1,2023/6/8 14:06); INSERT INTO t_test …...

Vue中下载不同文件的几种方式

当在Vue中需要实现文件下载功能时&#xff0c;我们可以有多种方式来完成。下面将介绍五种常用的方法。 1. 使用window.open方法下载文件 <template><div><button click"downloadFile(file1.pdf)">下载文件1</button><button click"…...

Ethernet/ip协议开发记录

目录 简介 一:EtherNet/IP 二:CIP 1. CIP 对象模型 2. CIP 服务 3. CIP 对象库...

Spring系列三:基于注解配置bean

文章目录 &#x1f497;通过注解配置bean&#x1f35d;基本介绍&#x1f35d;快速入门&#x1f35d;注意事项和细节 &#x1f497;自己实现Spring注解配置Bean机制&#x1f35d;思路分析&#x1f35d;注意事项和细节 &#x1f497;自动装配 Autowired&#x1f35d;案例1: Autow…...

git的简单介绍和使用

git学习 1. 概念git和svn的区别和优势1.1 区别1.2 git优势 2. git的三个状态和三个阶段2.1 三个状态&#xff1a;2.2 三个阶段&#xff1a; 3. 常用的git命令3.1 下面是最常用的命令3.2 git命令操作流程图如下&#xff1a; 4. 分支内容学习4.1 项目远程仓库4.2 项目本地仓库4.3…...

uni-app运行微信开发工具小程序,出现× initialize报错

解决方案...

UNet Model

论文地址 第一阶段 conv2d(33) first conv&#xff1a;5725721 → 57057064 second conv&#xff1a;57057064 → 56856864 代码 # first 33 convolutional layer self.first nn.Conv2d(in_channels, out_channels, kernel_size3, padding1) self.act1 nn.ReLU() # Seco…...

vue+iviewUi+oss直传阿里云上传文件

前端实现文件上传到oss&#xff08;阿里云&#xff09;适用于vue、react、uni-app&#xff0c;获取视频第一帧图片 用户获取oss配置信息将文件上传到阿里云&#xff0c;保证了安全性和减轻服务器负担。一般文件资源很多直接上传到服务器会加重服务器负担此时可以选择上传到oss&…...

算法leetcode|68. 文本左右对齐(rust重拳出击)

文章目录 68. 文本左右对齐&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 68. 文本左右对齐&#xff1a; 给定一个…...

基于MATLAB实现小波算法仿真(附上多个完整源码+数据集)

小波变换是一种常用的信号处理技术&#xff0c;广泛应用于图像处理、音频处理、压缩等领域。本文将介绍MATLAB中小波变换的基本原理和实现方法&#xff0c;并给出一个示例来说明如何使用MATLAB进行小波变换和逆变换。 文章目录 1. 引言2. 小波变换的基本原理3. MATLAB中的小波变…...

【深度学习注意力机制系列】—— CBAM注意力机制(附pytorch实现)

CBAM&#xff08;Convolutional Block Attention Module&#xff09;是一种用于增强卷积神经网络&#xff08;CNN&#xff09;性能的注意力机制模块。它由Sanghyun Woo等人在2018年的论文[1807.06521] CBAM: Convolutional Block Attention Module (arxiv.org)中提出。CBAM的主…...

【资料分享】全志科技T507-H工业核心板规格书

1 核心板简介 创龙科技SOM-TLT507是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53全国产工业核心板&#xff0c;主频高达1.416GHz。核心板CPU、ROM、RAM、电源、晶振等所有元器件均采用国产工业级方案&#xff0c;国产化率100%。 核心板通过邮票孔连接方式引出MIPI C…...

Profibus-DP转modbus RTU网关modbus rtu和tcp的区别

捷米JM-DPM-RTU网关在Profibus总线侧实现主站功能&#xff0c;在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备&#xff08;如&#xff1a;EH流量计、倍福编码器等&#xff09;接入到Modbus网络中&#xff1b;通过增加DP/PA耦合器&#xff0c;也可将Profibus PA从站接入…...

AlmaLinux 9 安装 Edge 和 Chrome

AlmaLinux 9 安装 Edge 和 Chrome 1. 安装 Edge2. 安装 Chrome 1. 安装 Edge 更新源&#xff0c; sudo dnf update -y # sudo dnf install dnf-utils -y添加 Edge 源&#xff0c; sudo dnf config-manager --add-repo https://packages.microsoft.com/yumrepos/edge再次更新…...

NGINX——负载均衡

负载均衡————>通过反向代理来实现 nginx反向代理的七层代理和四层代理 七层代理&#xff1a; 七层代理时最常用的反向代理方式&#xff0c;其只能配置在nginx的配置文件的http模块中&#xff0c;而且方法名称必须要定义成“upstream”模块&#xff0c;注意不能写在se…...

C#实现端口扫描和执行cmd命令、调用摄像头

C#端口扫描 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Threading;namespace PortScanner {class Program{static void Main(string[] args){// 设置扫描参数string host "localho…...

【图像恢复】基于交替乘子方法(ADMM)图像恢复算法研究[固定点收敛和应用](Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Qt 使用QLabel的派生类实现QLabel的双击响应

1 介绍 在QLabel中没有双击等事件响应&#xff0c;需要构建其派生类&#xff0c;自定义信号(signals)、重载事件函数(event)&#xff0c;最后在Qwidget中使用connect链接即可&#xff0c;进而实现响应功能。 对于其余没有需求事件响应的QObject同样适用。 此外&#xff0c;该功…...

关于@JSONField的使用

1.此注解来自jar包com.alibaba.fastjson 今天分享一个有意思的事情。这个注解作用与类的属性上&#xff0c;如下&#xff1a; ApiModelProperty(value"开始时间,格式:yyyy-MM-dd",required true) JSONField(name"start_date",ordinal 1) private String…...

Centos7单机部署ElasticSearch

Centos7单机部署ElasticSearch 引言 Elasticsearch是一种广泛使用的开源搜索引擎&#xff0c;专门为分布式环境设计&#xff0c;但也可以在单机上运行。它使存储、搜索和分析大量数据变得更加容易和高效。此教程将引导你通过在Centos7上单机部署Elasticsearch&#xff0c;涵盖…...

js玩儿爬虫

前言 提到爬虫可能大多都会想到python&#xff0c;其实爬虫的实现并不限制任何语言。 下面我们就使用js来实现&#xff0c;后端为express&#xff0c;前端为vue3。 实现功能 话不多说&#xff0c;先看结果&#xff1a; 这是项目链接&#xff1a;https://gitee.com/xi1213/w…...