Unity HDRP管线中快速制作Mask贴图工具

介绍
Unity在HDRP管线里,把Metallic、Occlusion、Detail Mask和Smoothness贴图整合成了一张Mask贴图,具体如下:
Mask贴图组成
Mask贴图可以从SP等DCC 工具直接导出,使用起来更加便捷了,但是如果我们是从Textures等贴图资源网站下载的贴图素材,它们是没有处理Mask贴图的,这时候我们只好分别导入到PS,把roughness反色,然后对每个通道进行合成。Textures等网站提供的贴图素材
但是对于很多美术人员来说,这其实是个挺麻烦的流程,所以我写了一个小工具,可以在unity里直接生成Mask贴图,非常方便省事。
工具

拓展:
这个工具还有一些非常方便的使用技巧,例如你想在unity里给一个贴图添加一个透明通道时,你可以将这张贴图放到前三个通道里去,然后把蒙版遮罩放在最后一个通道,就可以做出带有透明通道的贴图,无需导入PS。原理就在于每个贴图对应了R G B A四个通道。
为贴图创建透明通道

附注:
导入包后,可以方便地找到位置:
工具位置
工具可以免费下载,大家下载前记得点个赞呦~
链接:点我下载
提取码:mg0t

  • 48
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
好的,以下是一个简单的Unity HDRP管线使用的shader,它可以将一张颜色贴图应用到模型上,并使得模型永远朝向摄像机。请将以下代码保存为一个名为“CustomShader.shader”的文件,并将其添加到您的Unity项目: ``` Shader "Custom/HDRP Shader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags {"Queue"="Transparent" "RenderType"="Opaque"} LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float3 normal : NORMAL; }; struct v2f { float4 vertex : SV_POSITION; float3 worldNormal : TEXCOORD0; float3 worldPos : TEXCOORD1; }; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.worldNormal = UnityObjectToWorldNormal(v.normal); o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; return o; } sampler2D _MainTex; fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.worldPos); return col; } ENDCG } } FallBack "Diffuse" } ``` 这个shader的代码将纹理贴图应用到模型上,并使用了UnityCG.cginc的函数来计算模型的世界法线和世界位置。在fragment阶段,我们从纹理采样颜色,并将其作为输出颜色。由于我们使用了UnityObjectToWorldMatrix将模型从对象空间转换到世界空间,所以模型的朝向将永远面向摄像机。 要将此shader应用到模型上,请在模型的材质上创建一个新的材质,并将此shader分配给该材质。然后,将您的颜色纹理分配给_MainTex属性即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值