接下来的解决办法是曲率加上thinness厚度图,对于这个thinness厚度图,由于标记出来的颜色是黑色,所以我需要做一个1-的翻转操作,然后乘上一个2次方,让除了鼻子眼睛耳朵其余部分更暗一些。 half4 maskMap = SAMPLE_TEXTURE2D(_MaskMap, sampler_MaskMap, i.uv); half thinnessMap = maskMap.a; thinnessMap = pow...
表2 金色鹿头材质关联的 Mask Map 通道中具体的灰度图 最后一步是为材质关联法线贴图完成表面细节的添加(如图 23 所示)。 图23 金色鹿头材质关联法线纹理 这一材质的制作虽然比较简单,但是我们在这里涉及了基本的表面类型和材质类型的选择,解释了 Mask Map 的基本用途,以及 Remapping 滑块的具体使用方法。这些知识能...
ShadowCaster、ShadowMask和ShadowMap是Unity URP中阴影渲染管线的核心组件。ShadowCaster负责投射阴影,ShadowMask是实现阴影效果的技术,而ShadowMap则记录了场景中每个点的深度信息,用于生成阴影效果。 在开发过程中,我们需要根据具体需求选择合适的阴影渲染策略,并编写支持ShadowMask的Shader以及调整ShadowMap的参数,以获得高...
Mask MapTerrainLit 着色器(这是高清渲染管线 (HDRP) 和通用渲染管线 (URP) 的一部分)使用此遮罩贴图纹理 (Mask Map Texture) 数据。自定义地形着色器也可能将此纹理用于用户自定义的目的,例如环境光遮挡或基于高度的混合。 对于HDRP 和 URP TerrainLit 着色器,遮罩贴图纹理的 RGBA 通道对应于: ...
Mask MapTerrainLit 着色器(这是高清渲染管线 (HDRP) 和通用渲染管线 (URP) 的一部分)使用此遮罩贴图纹理 (Mask Map Texture) 数据。自定义地形着色器也可能将此纹理用于用户自定义的目的,例如环境光遮挡或基于高度的混合。对于 HDRP 和 URP TerrainLit 着色器,遮罩贴图纹理的 RGBA 通道对应于:...
(1,1,1,1)_MaskMap("MaskMap",2D)="white"{}_NormalMap("NormalMap",2D)="bump"{}_NormalMapScale("NormalMapScale",Range(0,1))=0_FresnelFade("FresnelFade",Range(0,0.1))=0_FresnelIntensity("FresnelIntensity",float)=1_FresnelPow("FresnelPow",float)=1[HDR]_RimColor("RimColor",Color)...
Mask Map:通过使用一张将信息储存到RGBA四个通道中的纹理,来一并控制Metallic(金属反光-Red通道)、Ambient Occlusion(环境光遮蔽-Green通道)、Detail Mask(细节遮罩-Blue通道)和Smoothness(光滑度-Alpha通道)。使用一张纹理控制四种属性可以降低内存的占用。
我们看一下,我们还是做了一些优化的,比如我们是在URP管线上实现了这套皮肤渲染的。在URP管线里面加入了PBR的工作流程,使用了cone map去替代(不清楚)的计算,我们也支持透明物体的厚和薄的物体,我们还使用了Mask Map去区分这个皮肤和普通材质。 我们看一下在手机上这个效果的对比。这是没有的效果。这是加入了我们...
向LitInput添加一个GetMask函数,该函数仅对遮罩纹理进行采样并返回它。 在继续之前,我们还要整理一下LitInput代码。使用名称参数定义INPUT_PROP宏,以提供使用UNITY_ACCESS_INSTANCED_PROP宏的简写。 现在,我们可以简化所有getter函数的代码。我只显示了在GetBase中检索_BaseMap_ST的更改。
方向阴影具有自己的图集Map。而我们将对所有其他阴影光使用单独的图集,并分别进行计数。让我们设置最多使用其他十六个具有实时阴影的灯光。 这意味着我们最终可以使用启用了阴影但不适合图集的光源。哪些光不会产生阴影取决于它们在可见光列表中的位置。我们只是不会为没有贡献的灯光保留阴影,但是如果它们烘焙了阴影,我们...