Unity - 各向异性 - 丝绸材质

文章目录

  • 目的
  • 环境
  • 主观美术效果的[假]丝绸
  • 基于物理的方式
  • Project
  • PBR filament web capture
  • References


目的

拾遗,备份


环境

Unity : 2020.3.37f1
Pipeline : Builtin Rendering Pipeline


主观美术效果的[假]丝绸

非常简单 :

half specualr = pow(1 - NdotV, _Edge_Pow) * _Edge_Scale + pow(NdotV, _Enter_Pow) * _Center_Scale;
specular *= _Tint;

在这里插入图片描述

这个效果不是物理的
而且在规律平面上效果比较弱

下面参考: Cilory-UE4-丝绸材质 里面可以看到在丝绸布料动起来的时候,稍微可观一些
在这里插入图片描述
请添加图片描述


基于物理的方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

请添加图片描述

这个是普通的衣服光泽

请添加图片描述
这个是丝绸衣服光泽,这个简单的试验DEMO如下

请添加图片描述

  • 优化 各向异性材质 的 T (切线) 的法线应用变化
  • 完善其他 fresnel, reflection, ambient 的补充

上面的效果我都是在 blinn phong 模型上,给 高光整上 PBR Anisotropy 的效果

那么下面是将 unity builtin rendering pipeline (内置管线) 的 standard 金属流中,添加 PBR Anisotropy 的效果

参考的是: PBR Filament 里面的 anisotropy 效果:

第一步是 specular 高光部分

https://google.github.io/filament/Filament.html#materialsystem/anisotropicmodel

在这里插入图片描述

第二步是 cubemap reflect dir 的扭曲调整 (也就是 IBL 的 Anisotropy,就是修改 reflect dir)

https://google.github.io/filament/Filament.html#lighting/imagebasedlights/anisotropy
在这里插入图片描述

代入到 standard 中的 PBR Aniso 效果,如下图:

  • 左边 blinn phong 修改 specular 为 anisotropy specular
  • 中间 standard 金属流修改为 anisotropy specular
  • 右边 是普通 standard 金属流

在这里插入图片描述

PBR Filament 上的模型,测试 Standard 修改为 Anisotropy Specular 的效果

显示 standard 金属流
在这里插入图片描述

开启 anisotropy
在这里插入图片描述

然后我们再增加一个张细节法线
在这里插入图片描述
在这里插入图片描述

基理太粗,调整一下 scale offset
在这里插入图片描述
最后的效果
请添加图片描述

加上 Bloom, Color Grading (tonemapping) 后效
在这里插入图片描述


Project

  • Testing_Fake_Silk_Shader_2020.3.37f1_URP.rar
  • Testing_PBR_Anisotropic_2020.3.37f1_BRP_v1.rar
  • Testing_PBR_Anisotropic_2020.3.37f1_BRP_v2.rar - 场景: _10_My_Silk_Anisotropic_Lighting,增加了 standard,fwdbase, fwdadd 的处理

PBR filament web capture

PBR_filament_web_capture.jpeg
提取码:ceio


References

  • 里面的各向异性材质: 丝绸材质可以参考:
  • 光照模型 PBR
  • Anisotropic specular BRDF - 公式、代码都有,非常有用的国外 PBR filament 教程
  • 丝绸、头发 各向异性:
  • Unity Shader 布料渲染(二)具体实现
  • 丝绸效果的实现
  • FlowMap的使用
  • URP绸缎材质近似
  • 可以参考: UE4 或是 unity HDRP 里面的 丝绸材质
  • PBR光照 Part1:BRDF(Cook-Torrance 模型)
  • Shader学习 (18)PBR光照模型效果分析手动复现 - 写的非常易懂

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

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

相关文章

RT-Thread Studio开发 新手入门

文章目录 前言一、RT-Thread Studio 与 STM32CubeMX 下载安装二、新建工程三、点亮LED灯四、按键中断五、串口通信六、OLED显示 前言 软件开发环境:RT-Thread Studio、STM32CubeMX 硬件:STM32F407ZGT6 一、RT-Thread Studio 与 STM32CubeMX 下载安装 …

【C语言数据结构————————二叉树】

文章目录 文章目录 一、什么是树 树的定义 树的种类 树的深度 树的基本术语 二、满二叉树 定义 满二叉树的特点 三、完全二叉树 定义 特点 四、二叉树的性质 五、二叉树的存储结构 顺序存储结构 链式存储结构 六、二叉树的基本操作 七、二叉树的创建 八、二叉树…

电容的作用

文章目录 总结1.降压2.滤波3.延时4.耦合5.旁路电容 总结 1.降压 问题: 直接连接灯泡会烧掉 解决方案 进一步为了防止电容放电,伤人,加入一个大电阻 2.滤波 直流的情况 交流的情况 频率与容抗的关系 3.延时 4.耦合 滤除直流成分&#xf…

Android---动态权限适配问题

在 Android6.0,即 API 23 之前,App 需要的权限都会在安装阶段向用户展示,而在 App 运行期间不需要动态判断权限是否已申请。从 6.0 之后的版本开始,Android 系统做了一次大的改动。对于部分权限,App 需要在代码中动态申…

Visual Studio 2019 写 Unity 脚本时,烦人又离谱的自动补全!

Visual Studio 2019 写 Unity 脚本时,逆天又离谱的自动补全! 血压高升的原因 写脚本的时候,智能提示有哪些函数可以使用,是非常棒的一件事情,有助于游戏开发者编写和检查自己的脚本代码。 但是! 我想输入…

序列化模块-json和pickle

一、json json是所有语言都通用的一种序列化格式 ,只支持 列表、 字典、 字符串、 数字 , 字典的key必须是字符串 1、dumps、loods # 在内存中做数据转换 : # durps 数据类型 转成 字符串 序列化 # loods 字符串 转成 数据类型 反序…

理解快速排序

理解快速排序 首先了解以下快速排序 快速排序(QuickSort)是一种常用的排序算法,属于比较排序算法的一种。它是由英国计算机科学家Tony Hoare于1960年提出的,是一种分而治之(divide and conquer)的算法。 …

C 语言函数

C 语言函数 在本教程中,将向您介绍C语言编程中的函数(用户定义函数和标准库函数)。此外,您还将学习为什么在编程中使用函数。 函数是执行特定任务的代码块。 假设您需要创建程序来创建一个圆并为其着色。您可以创建两个函数来解…

Redis04-分布式锁

目录 Redis实现分布式锁 分布式锁的工作流程 Redis实现分布式锁 Redission的watch dog Redis分布式锁的合理应用 Redis实现分布式锁 在单节点的服务器中,java中的synchronized机制是处于JVM层面的,只能保证线程之间的同步。而实际的服务部署中&…

第90步 深度学习图像分割:U-Net建模

基于WIN10的64位系统演示 一、写在前面 从这一期开始,我们杀个回马枪,继续学习深度学习图像分割系列,以为4090上岗了。 图像分割是计算机视觉的一个重要任务,目的是将数字图像分割成多个部分或区域,这些部分通常对应…

goroutine调度模型 调度策略

文章目录 背景 协程线程与协程的对比线程(Thread)协程(Coroutine) 运作线程模型 goroutine调度模型与演进过程G-M模型G-P-M模型抢占式调度器其他优化 调度策略队列轮转系统调用工作量窃取抢占式调度GOMAXPROCS 对性能的影响 Go在语…

multilinear多项式承诺方案benchmark对比

1. 引言 前序博客有: Lasso、Jolt 以及 Lookup Singularity——Part 1Lasso、Jolt 以及 Lookup Singularity——Part 2深入了解LassoJolt Lasso lookup中,multilinear多项式承诺方案的高效性至关重要。 本文重点关注4种multilinear多项式承诺方案的实…

【Python基础】try-finally语句和with语句

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

Springboot+vue的毕业生实习与就业管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的毕业生实习与就业管理系统(有报告)。Javaee项目,springboot vue前后端分离项目 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点…

logback异步日志打印阻塞工作线程

前言 最新做项目,发现一些历史遗留问题,典型的是日志打印的配置问题,其实都是些简单问题,但是往往简单问题引起严重的事故,比如日志打印阻塞工作线程,以logback和log4j2为例。logback实际上是springboot的…

Smart Link 和 Monitor Link应用

定义 Smart Link常用于双上行链路组网,提高接入的可靠性。 Monitor Link通过监视上行接口,使下行接口同步上行接口状态,起到传递故障信息的作用。 Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个…

2016年408计网

这一年,计算机网络部分的全部考题都围绕该网络拓扑图进行。 第33题 在 OSI 参考模型中, R1、Switch、Hub 实现的最高功能层分别是() A. 2、2、1 B. 2、2、2 C. 3、2、1 D. 3、2、2 本题考察路由器、以太网交换机、集线器各自实现的最高功能层是什么题目给定R1是…

链表OJ题【环形链表】(3)

目录 环形问题的思考 ❓Q1 ❓Q2 🙂Q2 ❓Q3 ❓Q4 8.环形链表 9.环形链表Ⅱ 今天接着链表的经典问题环形问题。大家一定要自己动手多写写。🙂 快慢指针(保持相对距离/保持相对速度)野指针考虑为NULL的情况带环链表&#x…

Java14新增特性

前言 前面的文章,我们对Java9、Java10、Java11、Java12 、Java13的特性进行了介绍,对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 今天我们来一起看一下Java14这个版本的一些重要信息 版本介绍 Java 14…

No180.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…