Unity 打包安卓没有阴影

这篇博客探讨了如何优化Unity中的Shader代码,通过替换特定的Pass并调整设置来提升ShadowCaster Pass的效率,确保在不同平台上的兼容性。文章中展示了如何将原始代码替换为更简洁高效的实现,重点关注了 HLSL 编程和阴影投射相关的技术细节。
摘要由CSDN通过智能技术生成

查看shader的状态

直接复制这段,导报到手机上是有会问题的

一些状态啊什么的会出问题

  Pass
{
    Name "ShadowCaster"
    Tags{"LightMode" = "ShadowCaster"}

    ZWrite On
    ZTest LEqual
    ColorMask 0
    Cull[_Cull]

    HLSLPROGRAM
    #pragma only_renderers gles gles3 glcore d3d11
    #pragma target 2.0

    //--------------------------------------
    // GPU Instancing
    #pragma multi_compile_instancing

    // -------------------------------------
    // Material Keywords
    #pragma shader_feature_local_fragment _ALPHATEST_ON
    #pragma shader_feature_local_fragment _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A

    #pragma vertex ShadowPassVertex
    #pragma fragment ShadowPassFragment

    #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
    #include "Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlsl"
    ENDHLSL
}

可以替换成下面的代码

Pass
{
    Name "ShadowCaster"
    Tags{"LightMode" = "ShadowCaster"}

    HLSLPROGRAM
    #pragma prefer_hlslcc gles
    #pragma exclude_renderers d3d11_9x
    #pragma target 2.0

    #pragma vertex ShadowPassVertex
    #pragma fragment ShadowPassFragment

    #include "./LitInputSSS.hlsl"
    #include "Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlsl"
    ENDHLSL
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值