仿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

相关推荐
bug总结8 天前
Three.js 实战:使用 PBR 贴图打造真实地面材质
材质·贴图
向宇it9 天前
【实现100个unity特效】unity中使用ShaderGraph实现一个贴图UV循环移动滚动的指示效果
游戏·3d·unity·c#·游戏引擎·贴图·uv
小卡不对头9 天前
电脑截图软件排行榜 Windows和mac电脑截图软件TOP10
windows·macos·电脑·笔记本电脑·贴图
Thomas_YXQ21 天前
Unity URP法线贴图实现教程
开发语言·unity·性能优化·游戏引擎·unity3d·贴图·单一职责原则
在下胡三汉22 天前
3dmax一键烘焙很多张贴图合并成一张贴图插件支持fbx/obj/blender多材质模型合并为一张贴图
blender·材质·贴图
在下胡三汉22 天前
3dmax烘焙插件3dmax法线贴图烘焙教程glb和gltf元宇宙灯光效果图烘焙烘焙光影贴图支持VR渲染器
vr·贴图
weixin_3776348424 天前
【数据增强】精细化贴图数据增强
人工智能·目标检测·贴图
九河_24 天前
【blender】使用bpy对一个obj的不同mesh进行不同的材质贴图(涉及对bmesh的操作)
blender·材质·贴图·bpy
爱怪笑的小杰杰1 个月前
Cesium圆锥渐变色实现:融合顶点着色器、Canvas动态贴图与静态纹理的多方案整合
贴图·着色器
在下胡三汉2 个月前
glb/gltf格式批量转换fbx/obj,材质贴图在,批量转换stl/dae等其他格式,无需一个个打开
材质·贴图