仿dota2渲染--shader常见贴图含义(直观展示)

cs 复制代码
    Properties {
        [Header(Texture)]
        _MainTex        ("RGB:颜色 A:透贴", 2D)           = "white"{}
        _NormTex        ("RGB:法线贴图", 2D)              = "bump" {}
        _MaskTex        ("R:高光强度 G:边缘光强度 B:高光染色 A:高光次幂",2D)  ="black"{}
        _MetalnessTex   ("金属度遮罩",2D)                 ="black"{}
        _EmissionMask   ("自发光遮罩",2D)                 ="black"{}
        _DiffWarpTex    ("颜色Warp图",2D)                 ="gray"{}
        _FresWarpTex    ("菲涅尔Warp图",2D)               ="gray"{}
        _CubeMap        ("环境图",Cube)                   ="_Skybox"{}

    }

1 基础颜色

cs 复制代码
half3 baseCol = var_MainTex.rgb;

2 透明贴图(黑透白不透)

cs 复制代码
half  opacity = var_MainTex.a;

3 高光强度

cs 复制代码
half  specInt = var_MaskTex.r;

4 轮廓光强度

很像AO,但又处理的比较剧烈,叠加了一些纹理信息

cs 复制代码
half  rimInt = var_MaskTex.g;

5 高光染色

越黑,染的色越多;越白,染的色越少。

金属部分希望染的很多。

cs 复制代码
half  specTint = var_MaskTex.b;

6 高光次幂 / 光滑度

金属稍微粗糙,想让他的高光扩大。

布料粗糙

皮革牙齿光滑

cs 复制代码
half  specPow = var_MaskTex.a;

7 金属度

越白,金属度越高,越黑,金属度越低

cs 复制代码
half  metallic = var_MetalnessTex.r;

8 自发光

cs 复制代码
half  emitInt = var_EmissionMask.r;

9 菲涅尔项

cs 复制代码
half3 var_FresWarpTex   = tex2D(_FresWarpTex, ndotv);
half3 fresWarp = var_FresWarpTex;

10 菲涅尔项-颜色

理论上。这个图会先乘以一个颜色,详情见官方

cs 复制代码
return fresWarp.r;

11 菲涅尔项-边缘光

边缘光很实,过度比较硬

cs 复制代码
return fresWarp.g;

12 菲涅尔-高光

除了cubemap的高光,还想加上fresnel样子的高光

cs 复制代码
return fresWarp.b;

13 环境球

这个光照成分对于金属很重要

cs 复制代码
half3 var_CubeMap = texCUBElod(_CubeMap, float4(vrDirWS, lerp(8.0, 0.0, var_MaskTex.a))).rgb ;
half3 cubemap = var_CubeMap;
return fixed4(cubemap,1);

14 投影

cs 复制代码
half shadow = LIGHT_ATTENUATION(i);

15 漫反射RampTex

cs 复制代码
uniform sampler2D _DiffWarpTex;   uniform float4 _DiffWarpTex_ST;
half3 var_DiffWarpTex   = tex2D(_DiffWarpTex,TRANSFORM_TEX(half2(ndotl,0.5), _DiffWarpTex));
half3 diffWarp = var_DiffWarpTex;
return fixed4(diffWarp,1);

Lambert

半Lambert

相关推荐
Min;1 天前
cesium-kit:让 Cesium 开发像写 UI 组件一样简单
javascript·vscode·计算机视觉·3d·几何学·贴图
Duo1J5 天前
【OpenGL】LearnOpenGL学习笔记25 - 法线贴图 NormalMap
笔记·学习·图形渲染·贴图·着色器
Duo1J5 天前
【OpenGL】LearnOpenGL学习笔记26 - 视差贴图 Parallax Map
笔记·学习·图形渲染·贴图·着色器
da_vinci_x5 天前
游戏UI告别“贴图”时代:用Adobe XD构建“活”的设计系统
游戏·ui·材质·贴图·游戏策划·游戏美术·pbr
AndrewHZ18 天前
【3D算法技术】blender中,在曲面上如何进行贴图?
算法·3d·blender·贴图·三维建模·三维重建·pcg
在下胡三汉25 天前
3dmax烘培插件3dmax法线贴图烘焙教程glb和gltf元宇宙灯光效果图烘焙烘焙光影贴图支持VR渲染器
vr·贴图
二川bro1 个月前
第21节:环境贴图与PBR材质升级——构建电影级真实感渲染
材质·贴图
AndrewHZ1 个月前
【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?
算法·3d·blender·nvidia·贴图·具身智能·isaac sim
CG_MAGIC1 个月前
主流 3D 模型格式(FBX/OBJ/DAE/GLTF)材质支持与转换操作指南
3d·渲染·动画·材质·贴图·3d 模型格式·材质支持与转换操作指南
渲吧-云渲染1 个月前
3ds MAX文件/贴图名称乱码?6大根源及解决方案
3d·贴图