【案例】故障雪花屏

news2024/11/6 22:46:48

开发平台:Unity 6.0
开发工具:Shader Graph
参考视频:【U2D Shader Graph】❄️雪❄️花❄️屏❄️

一、效果图


在这里插入图片描述

二、Shader Graph 路线图


在这里插入图片描述

三、案例分析


核心思路:雪花屏幕效果 +(混合)+ 原图像 = 最终图像

3.1 雪花屏实现 - 使用 Noise(噪声节点)


在这里插入图片描述
Simple Noise(简易噪声节点)的呈像符合雪花屏的表现,是实现雪花屏幕的最佳选择。

结合实际表现情况,雪花屏为动态型变化更新。
故需要引入 Time(定时器节点)+ 变量Speed(控制变化频率)的结果。如下所示:

在这里插入图片描述

[1] 可能出现的问题部署 Shader Graph 至 UnityEngine.UI.Image 后,发现雪花屏仍然保持静态。
这是因为 Simple Noise(简易噪声节点)的 Seed 输入值偏小所造成的。当输入值 ≥ 5 时,出现明显的浮动变化。


关于原作者选择的实现路线效果图 对比 Noise 效果图

图1 使用 Simple Noise(简易噪声节点)输入
图2 使用 Random Range(随机数节点)输入

原视频作者采取 UV(光照贴图节点) + Random Range(随机数生成节点)实现动态的类噪声表现效果。
但笔者选择继续 Noise(噪声)线路进行改善。后续内容将延续该思路进行,大致最终实现效果与原视频作者思路相似。

3.2 动态 Noise(噪声)变化


在这里插入图片描述

  • 动态变化的固定节点组合:Time(定时器节点)* 变量Speed 的 输出结果。
  • UV 位置变化关系固定组合:Tilling And Offset(缩放偏移节点)输入 Offset 信息。


Simple Noise(简易噪声节点) 需要 UV + Scale 两个变量来动态改变生成的噪声图。

  • 变量 Scale:控制噪声图的颗粒密度。
  • UV:控制变化速度
图1 Scale = 200
图2 Scale = 15

3.3 不透明度表现


在这里插入图片描述

控制雪花屏的透明度表现:变量 Alpha * UV 输出值。具体对比如下:

图1 alpha = 1.0
图2 alpha = 0.6
图2 alpha = 0.4
图2 alpha = 0.0

3.4 叠加背景纹理输出(可选)


叠加背景图,一般的为了方便使用 UnityEngine.UI.Image x2 来实现叠加效果。这是最快且迅速的方式。

在这里插入图片描述

如果需要在 Shader Graph 中实现叠加,引入 Blend(混合节点)。该节点将图层叠加输出至 Base Color 中即可。
须注意:应用于 Cavnas 上的纹理图选择 Mode = Screen。其他模式可自探索效果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hunyuan-Large:推动AI技术进步的下一代语言模型

腾讯近期推出了基于Transformer架构的混合专家(MoE)模型——Hunyuan-Large(Hunyuan-MoE-A52B)。该模型目前是业界开源的最大MoE模型之一,拥有3890亿总参数和520亿激活参数,展示了极强的计算能力和资源优化优…

arkUI:Column和Rom的间距设置(列向,横向)

arkUI:Column和Rom的间距设置(列向,横向) 1 主要内容说明2 相关内容举例和说明2.1 Column的间距(列的间距)2.1.1 源码1 (Column的间距)2.1.2 源码1运行效果 2.2 Row的间距&#xff0…

QML项目实战:自定义Combox

目录 一.添加模块 import QtQuick.Controls 2.4 import QtQuick.Templates 2.4 as T import QtGraphicalEffects 1.15 import QtQuick 2.15 as T2 二.自定义Combox 1.combox文字显示 2.设置下拉图标显示 3.下拉框中选中背景设置 4.下拉框中选中文字设置 5.下拉框设置…

【设计模式系列】原型模式(十一)

一、什么是原型模式 原型模式(Prototype Pattern)是一种创建型设计模式,它使得一个对象可以复制自身,从而创建一个与自己属性一致的新对象,而无需知晓对象创建的细节。这种模式允许动态地增加对象的数量,并…

h5web浏览器获取腾讯地图经纬度

https://lbs.qq.com/dev/console/application/mine 去腾讯地图申请key 然后前端页面引用 <script type"text/javascript" src"https://apis.map.qq.com/tools/geolocation/min?key自己的key&referertest"></script>调用代码 let geoloca…

微积分复习笔记 Calculus Volume 1 - 4.6 | Limits at Infinity and Asymptotes

4.6 Limits at Infinity and Asymptotes - Calculus Volume 1 | OpenStax

开源的flash浏览器 CelfFlashBrowser

特点 不用安装flash就可以玩flash游戏。 可播放在线和本地的swf文件 下载地址 &#xff1a;https://github.com/Mzying2001/CefFlashBrowser

游戏引擎中的颜色科学

游戏引擎中的渲染组件的作用是生成一个二维图片&#xff0c;在特定的时间从给定的视点观察的方向看到的一个三维空间的状态。他们的生成每一张图片都会被称为帧&#xff0c;他们生成的速度称为帧率。 像素 在每一帧中&#xff0c;游戏引擎的视觉输出基本上是一大堆彩色像素&a…

css中pointer-events:none属性对div里面元素的鼠标事件的影响

文章目录 前倾提要当没有设置属性pointer-events时候结果 当子元素设置了pointer-events: none修改后的代码结果如下所示 当父元素设置了pointer-events: none若两个div同级也就是兄弟级 前倾提要 在gis三维开发的地图组件上放一个背景图片&#xff0c;左右两侧的颜色渐变等&a…

中科蓝汛GPIO操作说明

概述 本篇文章介绍如何使用中科蓝汛AB5681&#xff0c;GPIO管脚使用说明。 一、第一种写法 1&#xff09;、GPIO配置输入模式 //内部上拉 GPIOBDE | BIT(4); //数字IO使能: 0为模拟IO, 1 为数字IO GPIOBDIR | BIT(4); //控制IO的方向: 0为输出, 1为输入. GPIOBFEN &…

Kotlin 协程使用及其详解

Kotlin协程&#xff0c;好用&#xff0c;但是上限挺高的&#xff0c;我一直感觉自己就处于会用&#xff0c;知其然不知其所以然的地步。 做点小总结&#xff0c;比较浅显。后面自己再继续补充吧。 一、什么是协程&#xff1f; Kotlin 协程是一种轻量级的并发编程方式&#x…

LabVIEW 离心泵机组故障诊断系统

开发了一套基于LabVIEW图形化编程语言设计的离心泵机组故障诊断系统。系统利用先进的数据采集技术和故障诊断方法&#xff0c;通过远程在线监测与分析&#xff0c;有效提升了离心泵的预测性维护能力&#xff0c;保证了石油化工生产的连续性和安全性。 项目背景及意义 离心泵作…

线程函数和线程启动的几种不同形式

线程函数和线程启动的几种不同形式 在C中&#xff0c;线程函数和线程启动可以通过多种形式实现。以下是几种常见的形式&#xff0c;并附有相应的示例代码。 1. 使用函数指针启动线程 最基本的方式是使用函数指针来启动线程。 示例代码&#xff1a; #include <iostream&g…

辐射传输方程的分解

Decomposition of the Boundary Value Problem for Radiative Transfer Equation of MODIS and MISR instruments 0.Notions Let L L L be the straming-collision operator, and S S S is scattering operator: L I Ω ⋅ ∇ I ( r , Ω ) σ ( r , Ω ) I ( r , Ω ) S…

智会智展,活动必备

智会智展 APP 各大应用市场均可下载统一链接https://m.malink.cn/s/r6nQVf

Hive操作库、操作表及数据仓库的简单介绍

数据仓库和数据库 数据库和数仓区别 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别 操作型处理(数据库)&#xff0c;叫联机事务处理OLTP&#xff08;On-Line Transaction Processing&#xff09;&#xff0c;也可以称面向用户交易的处理系统&#xff0c;它是针对具体业务…

如何选择适合小团队的项目管理工具?免费与开源软件推荐

目录 一、小团队项目管理工具的重要性 二、热门项目管理工具介绍 &#xff08;一&#xff09;禅道 &#xff08;二&#xff09;Trello &#xff08;三&#xff09;Asana &#xff08;四&#xff09;JIRA 三、免费项目管理软件推荐 &#xff08;一&#xff09;ES 管理器 …

kafka如何获取 topic 主题的列表?

大家好&#xff0c;我是锋哥。今天分享关于【kafka如何获取 topic 主题的列表&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka如何获取 topic 主题的列表&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中&#xff0c;可以…

Maven详解—(详解Maven,包括Maven依赖管理以及声明周期,Maven仓库、idea集成Maven)

文章目录 Maven详解一.初始Maven1.1 概述1.2 作用 二.Maven模型2.1 概述2.2 构建生命周期/阶段2.3 项目对象模型2.4 依赖管理模型 三.Maven仓库四.Maven安装4.1 下载4.2 安装步骤 五.Idea集成Maven Maven详解 一.初始Maven 1.1 概述 Maven是Apache旗下的一个开源项目&#x…

虚拟滚动 - 从基本实现到 Angular CDK

简介 在大数据列表的处理上&#xff0c;虚拟滚动是一种优化性能的有效方式。本篇文章将详细介绍两种常见的虚拟滚动实现方式&#xff1a;使用 transform 属性和 Intersection Observer。重点讲解如何通过 transform 属性实现高效的虚拟滚动&#xff0c;并对比Angular CDK中的实…