Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰

Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰

文章目录

  • Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰
    • 边缘光
        • 效果展示:
        • 代码与思路:
    • 扰动火焰
        • 效果展示:
        • 代码与思路:

边缘光

效果展示:
  • 方法一: ASE自带节点Fresnel,但是会出现闪点,方法二有解决方法:
    在这里插入图片描述
  • 方法二: 自己写方程
    在这里插入图片描述
代码与思路:

源自菲涅尔方程(Fresnel Equation)

  • 方法一: 圈1为Fresnel自带自带节点,将其和uv流动、HDR颜色相乘。

    注意:

    1. 要在subshader关掉深度写入,开启AlphaBlend、透明渲染
    2. 设置HDR颜色,和打开post后处理
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 方法二: Schlick近似菲涅尔方程,边缘光公式参考此方程
    在这里插入图片描述
    实际代码的公式是:
    叠亮 + 亮度 * pow(1 - 法线向量 点乘 视角向量,强度)
    在这里插入图片描述
    其中,圈1是将值限定在[0,1],前面pow的幂运算超出正常值时候,会出现闪点
    在这里插入图片描述

扰动火焰

效果展示:

在这里插入图片描述

代码与思路:

慢速噪声、快速噪声和主噪声叠加,让其在Y方向流动,叠加出来的噪声图给到火焰贴图UV上。

在这里插入图片描述
代码总览(字太小看不清,后文分块截图):
在这里插入图片描述

将叠加到的噪声和火焰UV相加。y方向流动的噪声,用Append叠加到y上
在这里插入图片描述

快速噪声部分:

  • 用Voronoi生成噪声。
  • Voronoi的UV部分,用一张uv叠加(Append)一个y方向的流动。Angle可以控制角度,因为我这的TimeDirection(圈1和2)是变化的(见第二张图),所以能够旋转。
  • 设置Texture Coordinates节点的Tiling参数,可以改变噪声贴图的稀疏程度。
  • Voronoi图又叫泰森多边形,有关Voronoi节点的更多详细信息见官方文档
    在这里插入图片描述

在这里插入图片描述
慢速噪声及主噪声纹理:

  • 和快速噪声纹理大同小异
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【简单明了,一文讲解】数据结构与算法基础入门篇--算法之排序篇

图1. 小林Coding整理图 排序算法是计算机科学中常见的一类算法,用于将一组数据按照一定规则进行排序。 常见的排序算法包括以下几种: 冒泡排序(Bubble Sort):通过相邻元素的比较和交换来实现排序,每一轮将最…

深入理解基于 eBPF 的 C/C++ 内存泄漏分析

对于 C/C 程序员来说,内存泄露问题是一个老生常谈的问题。排查内存泄露的方法有很多,比如使用 valgrind、gdb、asan、tsan 等工具,但是这些工具都有各自的局限性,比如 valgrind 会使程序运行速度变慢,gdb 需要了解代码…

基于Spring Boot的安康旅游网站的设计与实现,计算机毕业设计(带源码+论文)

源码获取地址: 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1760645517548793858

uni-app 人脸识别 App端

文章目录 背景介绍开发前准备基础版获取视频流人脸识别版本这时候就可以开心的调试了背景介绍 本文介绍如何制作人脸打卡等类似功能的实现。 使用nvue+live-pusher来实现。在App端这是成本较低的可以控制样式的方案了 实现了两个版本 基础版本:视频流 => 抓拍照片 => 传…

Unity与Android交互通信系列(5)

在前述文章中,已经使用了AndroidJavaProxy代理接口,本节我们将详细的介绍AndroidJavaProxy代理的用法。正如其名,AndroidJavaProxy是一个代理,它在Android端代码与Unity端代码交互中起一个桥接作用。其一般用法为在Java代码中定义…

《Docker 简易速速上手小册》第2章 容器和镜像(2024 最新版)

文章目录 2.1 理解 Docker 容器2.1.1 重点基础知识2.1.2 重点案例:使用 Docker 运行 Python 应用2.1.3 拓展案例 1:Docker 中的 Flask 应用2.1.4 拓展案例 2:Docker 容器中的数据分析 2.2 创建与管理 Docker 镜像2.2.1 重点基础知识2.2.2 重点…

电子器件系列63:肖特基二极管NSQ03A04\SS34C

以下是肖特基二极管_SS34C_规格书_SLKOR(萨科微),立创编号C880740 以下是肖特基二极管NSQ03A04的规格书: 稍微比较下参数,发现两者参数接近,ss34的几个参数还要略微好一些,可以用ss34来作替换。 在电源电路中的应用: …

java——IO流基础

目录 IO流IO流的四大分类:IO流的体系:FileinputStream(文件字节输入流)FileOutputStream(文件字节输出流)文件复制资源释放FileReader(文件字符输入流)FileWriter(文件字符输出流)缓…

[rospack] Error: package ‘moveit_setup_assistant‘ not found解决方法

执行:rosrun moveit_setup_assistant moveit_setup_assistant 显示报错:[rospack] Error: package ‘moveit_setup_assistant’ not found 这是由于没有安装moveit的包,所以找不到。 解决方法就是安装moveit包: sudo apt-get in…

【XR806开发板试用】踩坑deepin20,回归ubuntu,开发环境

首先,感谢给予XR806的试用机会。由于之前使用过deepin进行过开发,使用了很长的一段时间,印象还是不错的,所以,这次就想用deepin进行xr806的开发,但过于折腾。 sudo 安装 1. sudo apt-get install build-e…

128 Linux 系统编程6 ,C++程序在linux 上的调试,GDB调试

今天来整理 GDB 调试。 在windows 上我们使用vs2017开发,可以手动的加断点,debug。 那么在linux上怎么加断点,debug呢?这就是今天要整理的GDB调试工具了。 那么有些同学可能会想到:我们在windows上开发,…

Threejs 实现3D影像地图,Json地图,地图下钻

1.使用threejs实现3D影像地图效果,整体效果看起来还可以,底层抽象了基类,实现了通用,对任意省份,城市都可以只替换数据,即可轻松实现效果。 效果如下: 链接https://www.bilibili.com/video/BV1…

nginx 模块 常见内置变量 location

一、nginx 模块 ngx_http_core_module 核心模块 ngx_http_access_module 访问控制模块 deny allow ngx_http_auth_basic_module 身份验证 小红小名(虚拟用户) ftp也有虚拟用户 ngx_http_gzip_module 压缩模块 ngx_http_gzip_static_modul…

LeetCode二叉树中的第 K 大层和

题目描述 给你一棵二叉树的根节点 root 和一个正整数 k 。 树中的 层和 是指 同一层 上节点值的总和。 返回树中第 k 大的层和(不一定不同)。如果树少于 k 层,则返回 -1 。 注意,如果两个节点与根节点的距离相同,则…

互联网广告投放与IP地理位置定位

随着互联网的发展和普及,互联网广告投放成为各行业推广营销的重要方式之一。而结合IP地理位置定位技术,可以实现精准定向,提高广告投放的效果和精准度。IP数据云将探讨互联网广告投放与IP地理位置定位的关系,分析其优势和应用场景…

Android LinearLayout 如何让子元素靠下居中对齐 center bottom

Android LinearLayout 如何让子元素靠下居中对齐 center bottom 首先你需要知道两个知识点: android:layout_gravity 指定的是当前元素在父元素中的位置android:gravity 指定的是当前元素子元素的排布位置 比如: 有这么一个布局,我需要让…

【Java程序设计】【C00279】基于Springboot的智慧外贸平台(有论文)

基于Springboot的智慧外贸平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的智慧外贸平台 本系统分为系统功能模块、管理员功能模块、买家功能模块以及商家功能模块。 系统功能模块:在平台首页可以…

snowflake雪花算法

snowflake雪花算法 雪花算法是由Twitter开源的由64位整数组成分布式ID,性能较高,并且在单机上递增。 为什么叫分布式ID生成器? 因为10bit-工作机器id。 雪花算法(Snowflake Algorithm)之所以适用于分布式系统&#…

opengl 学习纹理

一.纹理是什么? 纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;类似于图像一样,纹理也可以被用来储存大量的数据,这些数据可以发送到着色器上。 采样是指用纹理坐标来获取纹…

代码随想录算法训练营第50天|123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

文章目录 123.买卖股票的最佳时机III思路代码 188.买卖股票的最佳时机IV思路代码 123.买卖股票的最佳时机III 题目链接:123.买卖股票的最佳时机III 文章讲解:代码随想录|123.买卖股票的最佳时机III 视频讲解:123.买卖股票的最佳时机III 思路 …
最新文章