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光照模型效果分析手动复现 - 写的非常易懂
相关文章:
Unity - 各向异性 - 丝绸材质
文章目录 目的环境主观美术效果的[假]丝绸基于物理的方式ProjectPBR filament web captureReferences 目的 拾遗,备份 环境 Unity : 2020.3.37f1 Pipeline : Builtin Rendering Pipeline 主观美术效果的[假]丝绸 非常简单 : half specualr pow(1 - NdotV, _Edg…...
MySQL中UUID主键的优化
UUID(Universally Unique IDentifier 通用唯一标识符),是一种常用的唯一标识符,在MySQL中,可以利用函数uuid()来生产UUID。因为UUID可以唯一标识记录,因此有些场景可能会用来作为表的主键,但直接…...
Python实现WOA智能鲸鱼优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…...
Rust语言代码示例
安装Rust语言,然后创建一个新的Rust项目。接下来,你需要安装一个名为"requests"的Rust包,这个包可以帮助你发送请求。然后,你需要安装一个名为"rust-crawler"的Rust包,这个包可以帮助你编写爬虫程…...
【SpringBoot3+Vue3】一【基础篇】
目录 一、Spring Boot概述 1、Spring Boot 特性 1.1 起步依赖 1.2 自动配置 1.3 其他特性 1.3.1 内嵌的Tomcat、Jetty (无需部署WAR文件) 1.3.2 外部化配置 1.3.3 不需要XML配置(properties/yml) 二、Spring Boot入门 1、一个入门程序需求 2、步骤 2.1 创建Maven工…...
麒麟信安登录央视,深度展现为中国信息安全铸“魂”之路
麒麟信安登录央视,深度展现为中国信息安全铸“魂”之路 近日,麒麟信安登录央视频道,《麒麟信安——为中国信息安全铸“魂”》在CCTV-4中文国际频道、CCTV-7国防军事频道、CCTV-10 科教频道、CCTV-12社会与法频道、CCTV-17农业农村频道&#x…...
Flutter的专属Skia引擎解析+用法原理
Skia是一款跨平台的2D图形库,是Google公司开发的,可以用于开发各种应用程序,如浏览器、游戏、移动应用程序等。Skia引擎的主要特点是速度快、可移植性强、占用的内存少、稳定性佳,适用于多种硬件平台。 Skia的目标是提供快速、高…...
python poetry的教程
Poetry Python世界中,Poetry是一个近年来备受瞩目的工具,它为开发者提供了一个灵活且强大的依赖管理解决方案。Poetry可以帮助开发者管理项目的依赖关系,同时提供了一系列的工具和功能,使开发者能够更轻松地创建和管理复杂的项目。…...
jq里的ajax超详细参数讲解
目录 1、url:要发送请求的URL地址。 2、type:请求的类型,可选参数,包括GET、POST、PUT、DELETE等,默认为GET。 3、data:要发送到服务器的数据,可以是一个字符串、数组或对象。默认为null。 4…...
郑州大学2020级信息安全专业——保研小结
最终上岸 夏令营: 夏令营开始的时间一般比较早,在期末考试之前就已经开始了,需要提前联系导师,有的学校是弱com,导师愿意要你入营的概率和优营的概率就会比较大,因此要提前联系导师,复习好项目…...
【系统架构设计】架构核心知识: 3.6 负载均衡和Session
目录 一 负载均衡 1 应用层负载均衡 2 传输层负载均衡 二 Session 1 Session共享机制...
python pip安装特定包,网络慢的问题
文件requirements.txt httpx0.24.0 Pillow9.5.0 playwright1.33.0 tenacity8.2.2 tornado6.3.2 PyExecJS1.5.1 opencv-python4.7.0.72 tortoise-orm[asyncmy]0.19.3 aerich0.7.2 numpy~1.24.4 redis~4.6.0 Pydantic1.7将文件放入任意一个目录下 cd 到该目录下执行 while read…...
CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片
CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片 Sub-1GHz,是指小于1GHz频率的统称。Sub-1GHz无线电频段应用的主要特点:(1)频率较低波长较长,传输距离远,穿透性强;࿰…...
设计模式之工厂模式 ( Factory Pattern )(1)
其他设计模式也会后续更新… 设计模式其实需要有一定开发经验才好理解,对代码有一定的设计要求,工作中融入才是最好的 工厂模式 ( Factory Pattern ) 工厂模式(Factory Pattern)提供了一种创建对象的最佳方式 工厂模式在创建对…...
OpenCV入门11:轮廓提取和形状识别
轮廓分析主要用于轮廓提取和形状识别等任务。在OpenCV中,轮廓提取和形状识别是图像处理和计算机视觉中常见的任务。下面是关于这两个知识点的一些基本内容: 轮廓提取: 轮廓提取是指从图像中提取出物体轮廓的过程。在OpenCV中,可…...
竞赛选题 深度学习疲劳检测 驾驶行为检测 - python opencv cnn
文章目录 0 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习加…...
Java编程--定时器/线程池/工厂模式/ ThreadPoolExecutor
前言 逆水行舟,不进则退!!! 目录 什么是定时器 实现一个定时器 自己实现一个定时器 什么是线程池 线程池的使用: 什么是工厂模式? 自己实现一个线程池: ThreadPoolExecutor 类…...
【python】Django——django简介、django安装、创建项目、快速上手
笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ Django基础——django安装、创建django项目、django快速上手 django简介django安装1. conda创建环境pydjango2. pip安装django3. django目录 创建项目1. 打开终端(cmd)2. 进入某个目录3.创建项目命令4.django项目…...
未来之选:为什么向量数据库是您的数据管理利器
文章目录 前言什么是向量数据库?向量数据库的机制向量数据库的优点查询向量数据库 什么是向量Embedding?Amazon OpenSearch Service总结 前言 向量数据库擅长处理复杂的高维数据,正在彻底改变商业世界的数据检索和分析。它们执行相似性搜索…...
隧道施工工艺流程vr线上虚拟展示成为产品3D说明书
行业内都知道,汽车生产的大部分都需要冲压加工来完成,因此汽车冲压工艺是汽车制造过程中的重要环节,传统的展示方式往往局限于二维图纸和实地操作,难以充分展现工艺的细节和流程。然而,随着技术的进步,汽车…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
