Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

2023-11-20

效果如图

  1. 准备工作--

在hdr模式下,关闭Directional Light ,相机设置

移动球挂一个点光源作为子节点,设置自行调节

0.创建移动球的材质及shader

shader-->在Project / Create / Shader Graph/ URP / unlit shader graph;

双击新创建的shadergraph文件,在shadergraph编辑器中 右键new node 输入color。将color链接到fragment。color的mode选择HDR【点击颜色条可以增强或减弱HDR颜色,调整效果】; 新建一个材质点击inspector面板最上面的shader右侧edit按钮选择该shadergraph;再将这个材质替换移动球MeshRenderer的materials默认材质。

注意:保存shadergraph在编辑器左上角save asset

为了让移动球看起来发光,我们需要应用光晕后期效果

Create/GameObject / Volume / Global Volume

在Hierachy面板中点击新建的global volume,设置如下图

URP设置

找到urp配置文件,设置如下图防止 Unity 在每一帧都不必要地更新体积数据

  1. HDR粒子特效设定[类似火花粒子效果]

在移动球创建一个粒子子节点,

停用Looping和Play On Awake.

Start Lifetime值范围:0.5–1

Start Speed到 2–4

Start Size到 0.5。

改变Simulation Space值为World

Emitter Velocity Mode到Transform.

Emission模块的rate over time 值为0,rate over distance 值为0

Shape模块设置为cone,Angle值45 Radius值 0.5。

启用Color over Lifetime模块,从黄色到红色的颜色渐变,其 alpha 在两端设置为零,在 10% 时设置为 255。

启用Size over Lifetime模块,线性曲线从 1 下降到 0。

设置Mode模块的Renderer值为Mesh,它默认使用立方体。让它使用我们的粒子材料。

shader-->在Project / Create / Shader Graph/ URP / unlit shader graph;还是无光照着色器

shader设置

intensity:在blackboard 增加了float属性命名为intensity.拉到编辑界面上。

代码控制效果:

    [SerializeField]
    ParticleSystem pball;

    [SerializeField]
    int emisCount = 20;//控制每次弹跳生成多少粒子

   //发射锥必须正确定位和旋转
     void EmitGrow (float x, float z, float rotation)
    {
        ParticleSystem.ShapeModule shape = pball.shape;
        shape.position = new Vector3(x, 0f, z);
        shape.rotation = new Vector3(0f, rotation, 0f);
        pball.Emit(emisCount);
    }

未完待续

使用lit shadergraph创建自发光闪烁 效果

  1. 设置图

  1. timeColorMat.SetFloat(timeOfLastHitId, Time.time);//代码激活

  1. 效果

注意事项:自定义属性 设置timeOfLastHitId默认值-1000。

emissioncolor设置hdr.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置] 的相关文章

  • 如何正确钳位贝克曼分布

    我正在尝试实现 Microfacet BRDF 着色模型 类似于 Cook Torrance 模型 但我在使用本文中定义的贝克曼分布时遇到了一些问题 https www cs cornell edu srm publications EGS
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • 修复 Nvidia 和 AMD 的 GLSL 着色器

    我在让 GLSL 着色器在 AMD 和 Nvidia 硬件上工作时遇到问题 我并不是在寻求修复特定着色器的帮助 而是寻求如何避免出现这些问题 是否可以检查着色器是否可以在 AMD Nvidia 驱动程序上编译 而无需在具有相应硬件的计算机上
  • texture2D().r 和texture2D().a 是什么意思?

    我在用OpenGL ES在Android编程中 当我在着色器中将YUV NV21 转换为RGB时 例如 vec3 yuv vec3 texture2D u TextureY vTextureCoord r 0 0625 texture2D
  • GLSL:如何执行类似 switch 的语句

    我想根据传递到着色器的数据动态调用缓动 所以用伪代码来说 var easing easings easingId var value easing point 我想知道在 GLSL 中完成此任务的最佳方法 我可以以某种方式使用 switch
  • VS2022 | 显示Unreal Engine日志

    VS2022 显示Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志
  • 移动物体的漫射照明

    当计算移动物体的漫射照明时 我必须将光源与物体本身一起移动 Override public void draw draw frame Move object GLES20 glVertexAttribPointer aPositionLin
  • 游戏开发创建操作之玩家信息系统的建立

    游戏一般都需要玩家信息系统 那么我们应该如何搭建玩家信息系统 接下来我将展示一种简单的方法 完整代码如下 using System Collections using System Collections Generic using Uni
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void
  • 游戏开发中常见系统梳理之背包系统的实现一

    游戏中几乎都存在大大小小的背包系统 接下来我将讲述背包系统具体是如何实现的 完整源码 以下是使用unity NGUI实现 使用txt配置的方法 后续更新UGUI Json实现的背包系统敬请期待 背包中的物品我们常常将其制作成预设体 通过改变
  • 着色器使立方体的边缘倾斜?

    这个问题涉及使用着色器 可能在 Unity3D 环境中 但 Metal 或 OpenGL 都可以 以在网格最小立方体上实现圆角边缘 我希望只使用 12 个三角形的简约网格立方体 然后通过着色器 使每个块的边缘 角 稍微倾斜 其实这样可以吗带
  • 使用 LibGDX 的法线贴图 GLSL

    我尝试使用 LibGDX 实现法线贴图 因此 当我在顶点着色器中计算漫反射和镜面反射颜色时 我得到了一些积极的结果 至少我这么认为 顶点着色器 attribute vec4 a position attribute vec2 a texCo
  • 我们可以在透明窗口上应用着色器吗

    I am looking to apply a particular shader to a transparent window for example on a live desktop I want to create a trans
  • Unity3D - 用于精灵裁剪的着色器

    我正在尝试创建一个可用于在游戏中剪辑 2D 精灵的着色器 我在中找到了该着色器另一个问题 https stackoverflow com questions 16397023 unity3d a shader that will clip
  • GLSL 纹理立方体和纹理2D 在同一着色器中

    我似乎无法两者兼得texture2D and textureCube 在一个着色器中 当我这样做时 什么也没有显示 也没有错误 我用我自己的着色器加载器和 Apple GLSL 着色器生成器尝试了这一点 并且发生了同样的事情 即使我有也会发
  • 您应该如何有效地批处理复杂的网格?

    渲染复杂网格的最佳方法是什么 我在下面写了不同的解决方案 想知道您对它们有何看法 让我们举个例子 如何渲染 Crytek Sponza 网格 PS 我不使用Ubershader 只使用单独的着色器 如果您通过以下链接下载网格 http gr
  • 对 VBO 中的特定三角形使用不同的纹理

    我有 9 个由三角形组成的四边形 如下所示 我在用着VBO存储有关它们的数据 它们的位置和纹理坐标 我的问题是 是否可以仅使用一个来使四边形 5 具有与其余四边形不同的纹理VBO and shader 绿色代表纹理 1 黄色代表纹理 2 到
  • DirectX 世界视图矩阵乘法 - GPU 或 CPU 的地方

    我是 directx 的新手 但令我惊讶的是 我看到的大多数示例中 世界矩阵和视图矩阵都是作为顶点着色器的一部分相乘 而不是与 CPU 相乘并将结果传递给着色器 对于刚性对象 这意味着您为对象的每个顶点将相同的两个矩阵相乘一次 我知道 GP
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo

随机推荐

  • JavaScript(函数,作用域和闭包)

    目录 一 什么是函数 1 1 常用系统函数 1 2 函数声明 1 3 函数表达式 二 预解析 2 1 函数自调用 2 2 回调函数 三 变量的作用域 3 1 隐式全局变量 四 作用域与块级作用域 五 作用域链 六 闭包 一 什么是函数 类似
  • 微信小程序:图片高度设置无效问题

    控制台查看元素 显示其style中多了一个没有设置的高度值 找了很久发现是因为image标签设置了mode widthFix 此时高度会自适应 样式中设置高度无效
  • 对接百度api的工具类:Base64Util,FileUtil,HttpUtil

    对接百度api的工具类 Base64Util FileUtil HttpUtil package com baidu ai aip utils Base64 工具类 public class Base64Util private stati
  • Windows中安装GCC教程

    GCC的安装教程 GCC简介 GCC编译器通常在Linux系统下使用 一般来说大部分发行的系统会默认安装 GCC编译器使用gcc指令在终端进行shell操作 对于新接触Linux的朋友来说 简单的在Windows中练习过渡一下应该就足够了
  • Python数据库接口以及API

    非常详细的解释 包含数据库分类以及各种数据库的特点 https wiki python org moin DatabaseInterfaces
  • flex布局详解

    声明 本人的所有博客皆为个人笔记 作为个人知识索引使用 因此在叙述上存在逻辑不通顺 跨度大等问题 希望理解 分享出来仅供大家学习翻阅 若有错误希望指出 感谢 flex基本概念 任何一个容器都可以指定为Flex布局 例如 box displa
  • 3min利用Python实现9种经典排序算法可视化!(附源代码)

    来源 恋习Python 本文附视频 建议收藏 本文为你分享实现9种经典排序算法可视化的方法 3分钟即可实现 导 读 近在某网站上看到一个视频 是关于排序算法的可视化的 看着挺有意思的 也特别喜感 不知道作者是怎么做的 但是突然很想自己实现一
  • Qt中使用QFrame,并使得边框周围添加阴影的效果

    参考大神博客 https blog csdn net wzz953200463 article details 100533435 1 使用Qframe实现阴影的效果 首先我们需要放置一个frame控件在界面上 2 需要加上头文件 incl
  • 代码文档生成工具:Doxygen

    1 什么是 Doxygen Doxygen是一个程序的文档生成工具 可以将程序中的注释转换成说明文档或者说是API参考手册 同时也支持Markdown等文本工具 从而减少程序员整理文档的时间 程序中的注释需要遵循一定的规则书写 才能让Dox
  • SQL触发器编写与查看

    1 已有数据查看 2 编写触发器 以更新表一为条件 go create trigger TG Insert 创建触发器 on DB TABLE 20210528 定位某张表 for UPDATE 表 DB TABLE 20210528 更新
  • 微信小程序常见面试题

    1 小程序有几个文件 WXML 是框架设计的一套标签语言 结合基础组件 事件系统 可以构建出页面的结构 WXSS 用于描述 WXML 的组件样式 js 逻辑处理 json 小程序页面配置 2 微信小程序与 H5 的区别 运行环境 小程序的运
  • 【ChatGPT进阶】如何使用ChatGPT写小说?

    ChatGPT文本处理能力是毋庸置疑的 可以使用上下文相关的文本来进行自动推理和生成 它可以用来帮助写以更快的速度完成文章 它可以参考上下文 以提供有用的洞察力和见解 它可以大大提高写文章的效率 它可以从上下文中提取关键信息 然后使用这些信
  • WTL 界面设计篇(CSkinEdit)

    头文件声明 CSkinEdit h pragma once include SkinManager h 不支持滚动条皮肤 图片背景支持不完整 Edit控件必须是ES MULTILINE风格 SetMarginsEx才能生效 ES MULTI
  • 【Linux】使用systemd设置开机自启动命令

    目录 1 使用使用systemd实现开机自动运行命令 1 1 新建一个 service文件 1 2 编写 service文件 1 2 1 Unit 1 2 2 Service 1 2 3 Install 1 3 启动服务并设置自启动 2 编
  • Windows运行常用命令(win+R)

    1 calc 启动计算器 2 notepad 打开记事本 3 write 写字板 4 mspaint 画图板 5 snippingtool 截图工具 支持无规则截图 6 mplayer2 简易widnows media player 7 S
  • mybatis中type-aliases-package的用法

    springboot项目中的application yml文件中的mybatis type aliases package 什么时候用 mapper xml文件中resultMap的type parameterType resultType
  • Unity中级客户端开发工程师的进阶之路

    上期UWA技能成长系统之 Unity高级客户端开发工程师的进阶之路 得到了很多Unity开发者的肯定 通过系统的学习 可以掌握游戏性能瓶颈定位的方法和常见的CPU GPU 内存相关的性能优化方法 UWA技能成长系统是UWA根据学员的职业发展
  • 1分钟快速掌握Vue Router的使用?

    简介 Vue Router 是 Vue js 官方的路由管理器 它和 Vue js 的核心深度集成 让构建单页面应用变得易如反掌 包含的功能有 嵌套的路由 视图表 模块化的 基于组件的路由配置 路由参数 查询 通配符 基于 Vue js 过
  • AI工程化:各家的AI平台、AI中台架构图

    中台的概念 AI 中台是用来构建大规模智能服务的基础设施 是一套完整的人工智能模型全生命周期管理平台和服务体系 提供模型设计训练 模型 算法库 复用标注管理 模型监控服务等能力支持 AI中台旨在让企业业务前台可以短兵作战 小步快跑 降低试错
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap