DCC - Photoshop - Nvidia NormalMapFilter - 法线生成工具 - 顺便测试 Unity URP 12.1 中的 Decal System

141 篇文章 35 订阅
10 篇文章 4 订阅


之前有一篇使用几何体的方式来绘制深坑,这种方式效果还不错,局限性还是有的,具体可以参考:Unity Shader - URP - 抄作业 - Deep Crack - 裂痕深坑 - SRP Batch优化

图形效果铁原则:制作方法没有最好的,只有最适合的,只要看起来不错,就够了


今天研究使用:URP 12.1 中的 Decal System

然后尝试了一下 在 Decal 中修改原来 GBuffer 的 Normal 的效果

但是没有法线图,我就随便那一张之前项目测试用的地裂图来做测试

但是只有 albedo,没有 normal


NVIDIA Texture Tools Exporter 下载、安装

使用 Photoshop 来构建法线,使用到

这个工具生成并不复杂,原理和:高度转法线的功能差不多,可以查看我之前的一篇:Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线

安装好之后,在:滤镜/NVIDIA Tools/NormalMapFilter… 中即可打开

在这里插入图片描述

在对应的 photoshop 安装目录下回有一个 plugin 有显示 *.8bf 文件
在这里插入图片描述


法线生成素材图

打开这么一张图:
在这里插入图片描述


扣干净无用像素

使用魔术棒工具,设置好:不连续,20 容差

在这里插入图片描述

将中间灰色部分扣除掉
在这里插入图片描述


使用 NVIDIA Normal Map Filter 生成贴图

打开上面提到的:NVIDIA Normal Map Filter 工具,设置好参数,点击:OK
在这里插入图片描述

下面就是生成后的法线贴图
在这里插入图片描述


配置好 URP Renderer

不使用 RenderPath: Deffered 也没问题,原来时:Forward

如果 RenderPath : Forward的话,那么在 Render Feature 中的 Techinque 要选择:DBuffer
在这里插入图片描述


添加好 Decal Render Feature

在这里插入图片描述


设置好 Decal Render Feature Techniqu: DBuffer

在这里插入图片描述


配置好 unity shader graph

在这里插入图片描述


添加 URP Decal Projector 组件

在 hierarchy 视图添加:empty go,添加 URP Decal Projector
在这里插入图片描述


配置好 URP Decal Projector 参数

在这里插入图片描述


最终效果

在这里插入图片描述

请添加图片描述


原理

以 Deferred Rendering Path 为例

URP Decal Projector 组件集成了:从过 Blit 也好,或是 CopyTo/CopyFrom 也好
先将 GBuffer 中的 Albedo, Normal 等,需要的数据复制到 DBuffer

然后 在 Decal Shader 中读取 DBuffer 的参数,修改通过该Decal Shader 逻辑处理修改后的数据重新输出到 GBuffer

然后 GBuffer 就按 Deferred Rendering Path 流程,继续往下走


下面是正常的 Deferred Rendering Path 的过程

Regulars Write Albedo, Normal, PositionWS, Metallic, Roughness, AO, Depth
Rendering with GBufer Data
Deferred Rendering Pipeline
GBuffer
Deferred Shader

然后我在 GBuffer 之后再添加一个 修改 GBuffer 的过程

修改过程如下

Reading GBuffer Data to DBuffer
Albedo
Normal
Compute And Write Back GBuffer
Modifing GBuffer Data - Decal Shader
GBuffer
DBuffer
Decal Shader

然后我们将: Modifing GBuffer Data - Decal Shader 子过程放入到原来的 Pipeline 中,如下:

Regulars Write Albedo, Normal, PositionWS, Metallic, Roughness, AO, Depth
Copy GBuffer to DBuffer
Rendering with GBufer Data
Deferred Rendering Pipeline
Modifing GBuffer Data - Decal Shader
GBuffer
Deferred Shader

这样就达到了修改 normal 的效果

URP Decal Shader Graph 中,也提供了修改 Base Col, MAOS ,就是修改 albedo, metallic, ao, smoothness 的关键地方,如下图所示
在这里插入图片描述


Project

TestURP_DecalSystem_Unity_2021.3.1f1.unitypackage

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
DCC-GJR-GARCH(动态相关系数-广义条件异方差模型)是一种常用于金融时间序列建模的方法。它是GARCH模型的扩展形式,旨在考虑不同金融资产之间的动态相关性。 DCC-GJR-GARCH模型的基本思想是,通过引入一个动态相关系数矩阵来测量资产间的相关性,同时使用广义条件异方差模型来捕捉每个资产的波动性。在建模过程,我们首先通过GJR-GARCH模型估计每个资产的波动性。然后,通过引入一个状态方程,将每个资产的波动性与动态相关系数联系起来。最后,通过最大似然估计方法来估计模型参数。 DCC-GJR-GARCH模型的特点在于它能够捕捉到金融资产之间的动态相关性变化。与传统的相关系数模型相比,DCC-GJR-GARCH模型更能适应金融市场相关系数的时变特点。此外,该模型还考虑了资产的非对称波动性,使得模型对于极端事件的预测能力更强。 DCC-GJR-GARCH模型在金融风险管理、投资组合优化和期权定价等领域有广泛的应用。通过使用该模型,投资者和风险管理者可以更准确地估计不同资产之间的动态相关性,以及个别资产的波动性。这有助于制定更科学、更有效的投资策略,降低投资风险,并提高投资回报率。 总而言之,DCC-GJR-GARCH模型是一种用于金融时间序列建模的方法,它能够较准确地估计金融资产之间的动态相关性和波动性。该模型在金融领域有广泛的应用,对于风险管理和投资决策有重要意义。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值