Unity - 各向异性 - 丝绸材质

news2024/11/19 19:17:07

文章目录

  • 目的
  • 环境
  • 主观美术效果的[假]丝绸
  • 基于物理的方式
  • 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光照模型效果分析手动复现 - 写的非常易懂

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

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

相关文章

【STM32】TIM2的PWM:脉冲宽度调制--标准库

注意点: TIM_Period---->指要进行比较的值Compare TIM_Prescaler----> 指要进行分频的值【分频值/原始时钟值】 PWM是一种周期固定,脉宽可调整的输出波形。 https://www.cnblogs.com/brianblog/p/7117896.html 0.通用寄存器输出 1.捕获/比较通道…

CountDownLatch和CyclicBarrier详解

1. CountDownLatch 1.1 简介 CountDownLatch 是 Java 中并发包(java.util.concurrent)提供的一种同步工具,用于在多线程环境中协调多个线程之间的执行顺序。它的作用是允许一个或多个线程等待其他线程完成操作。 CountDownLatch 通过一个计…

Python基础入门例程51-NP51 列表的最大与最小(循环语句)

最近的博文: Python基础入门例程50-NP50 程序员节(循环语句)-CSDN博客 Python基础入门例程49-NP49 字符列表的长度-CSDN博客 Python基础入门例程48-NP48 验证登录名与密码(条件语句)-CSDN博客 目录 最近的博文&…

深度解析CompletableFuture:Java 异步世界的奇迹

目录 概述 介绍 上文我们可知:CompletableFuture 是 Java 8 引入用于支持异步编程和非阻塞操作的类。对于没有使用过CompletableFuture通过它这么长的名字就感觉到一头雾水,那么现在我们来一起解读一下它的名字。 Completable:可完成Futur…

【Redis】Redis-Key的使用

上一篇: redis-server和redis-cli https://blog.csdn.net/m0_67930426/article/details/134361885?spm1001.2014.3001.5501 官网 命令 |雷迪斯 (redis.io) 设置key set name xxxxx 查看key keys * 再设置一个key并且查看 这里查看了两个key(name a…

Git之分支与版本

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 ,越幸运。 1.开发测试上线git的使用 1.1. 环境讲述 当软件从开发到正式环境部署的过程中,不同环境的作用…

《015.SpringBoot+vue之音乐网》【前后端分离】

《015.SpringBootvue之音乐网》【前后端分离】 项目简介 [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatisMySQL; 前台:Vue3.0 TypeScript Vue-Router Vuex Axios …

Globalsign证书

GlobalSign是全球可信的数字证书提供商之一,提供广泛的证书服务,包括SSL证书、代码签名证书、电子邮件证书等,帮助保护企业和个人的网络安全。本文将详细介绍GlobalSign证书的特点和优势,帮助您更好地了解这一重要的数字证书提供商…

高防CDN:护航网络安全的卓越之选

在当今数字化时代,网络攻击与日俱增,为了确保网站和应用程序的稳定运行,高防CDN(高防御内容分发网络)应运而生。选择高防CDN的理由不仅源于其强大的防护性能,还体现了其与硬件防火墙异曲同工的奥妙。 选择高…

MYSQL字符串函数详解和实战(字符串函数大全,内含示例)

MySQL提供了许多字符串函数,用于处理和操作字符串数据。以下是一些常用的MYSQL字符串函数。 建议收藏以备后续用到查阅参考。 目录 一、CONCAT 拼接字符串 二、CONCAT_WS 拼接字符串 三、SUBSTR 取子字符串 四、SUBSTRING 取子字符串 五、SUBSTRING_INDEX 取子…

Git的原理与使用(一)

目录 Git初始 Git安装 Git基本操作 创建git本地仓库 配置git 工作区,暂存区,版本库 添加文件,提交文件 查看.git文件 修改文件 版本回退 小结 Git初始 git是一个非常强大的版本控制工具.可以快速的将我们的文档和代码等进行版本管理. 下面这个实例看理解下为什么需…

eocc1_Findings_candlestick_ohlc_volume_

An Unusually Tall Candle Often Has a Minor High or Minor Low Occurring within One Day of It异常高的蜡烛通常会在一天内出现小幅高点或小幅低点 I looked at tens of thousands of candles to prove this, and the study details are on my web site, ThePatternSite.com…

软件工程——名词解释

适用多种类型的软件工程教材,有关名词释义的总结较为齐全~ 目录 1. 软件 2. 软件危机 3. 软件工程 4. 软件生存周期 5. 软件复用 6. 质量 7. 质量策划 8. 质量改进 9. 质量控制 10. 质量保证 11. 软件质量 12. 正式技术复审 13. ISO 14. ISO9000 15.…

SpringBoot系列-2 自动装配

背景: Spring提供了IOC机制,基于此我们可以通过XML或者注解配置,将三方件注册到IOC中。问题是每个三方件都需要经过手动导入依赖、配置属性、注册IOC,比较繁琐。 基于"约定优于配置"原则的自动装配机制为该问题提供了一…

macOS使用conda初体会

最近在扫盲测序的一些知识 其中需要安装一些软件进行练习,如质控的fastqc,然后需要用conda来配置环境变量和安装软件。记录一下方便后续查阅学习 1.安装miniconda 由于我的电脑之前已经安装了brew,所以我就直接用brew安装了 brew install …

【yolov5】onnx的INT8量化engine

GitHub上有大佬写好代码,理论上直接克隆仓库里下来使用 git clone https://github.com/Wulingtian/yolov5_tensorrt_int8_tools.git 然后在yolov5_tensorrt_int8_tools的convert_trt_quant.py 修改如下参数 BATCH_SIZE 模型量化一次输入多少张图片 BATCH 模型量化…

Technology Strategy Patterns 学习笔记8- Communicating the Strategy-Decks(ppt模板)

1 Ghost Deck/Blank Deck 1.1 It’s a special way of making an initial deck that has a certain purpose 1.2 you’re making sure you have figured out what all the important shots are before incurring the major expense of shooting them 1.3 需要从技术、战略、产…

2023 年最新企业微信官方会话机器人开发详细教程(更新中)

目标是开发一个简易机器人,能接收消息并作出回复。 获取企业 ID 企业信息页面链接地址:https://work.weixin.qq.com/wework_admin/frame#profile 自建企业微信机器人 配置机器人应用详情 功能配置 接收消息服务器配置 配置消息服务器配置 配置环境变量…

[01]汇川IMC30G-E系列运动控制卡应用笔记

简介 IMC30G-E系列产品是汇川技术自主研制的高性能EtherCAT网络型运动控制器(卡),同时兼容脉冲轴的控制;IMC30G-E支持点位/JOG、插补、多轴同步、高速位置比较输出、PWM等全面的运动控制功能,具备高同步控制精度。 开发…

OpenWRT浅尝 / 基于RAVPower-WD009便携路由文件宝的旁路网关配置

目录 前言需求分析手头的设备家庭网络拓扑图旁路网关配置OpenWRT固件选择OpenWRT固件刷入旁路网关配置流程 旁路网关的使用前置工作日常存储/关键备份内网穿透24小时待命下载器 前言 近期由于个人需求,需要一台OpenWRT设备实现一些功能。所以本文主要还是为了自己后…