unity3d-jp / UnityChanToonShaderVer2_Project

UnityChanToonShaderVer2 Project / v.2.0.9 Release
3.82k stars 811 forks source link

Android の Vulkan 使用時にシェーダーがフォールバックします #17

Closed MasashiWada closed 5 years ago

MasashiWada commented 5 years ago

UTS2.0.6をAndroidプラットフォーム向けにビルドする際に、使用するAPIがVulkanで動作する場合、UTSが頂点ライティングシェーダー(?)にまで落とされるようで正常に表示されませんでした。 UTSはVulkan上の動作は対象外でしょうか?

ローカル環境はWindows版のUnity2018.3.9を使用していますが、CloudBuildから同設定のビルドapkでも症状が発生しました。 動作確認機種はROG PhoneとSHIELD Tabletで最小Android APIは7.0以降を指定しています。

PlayerSettingからOpenGLES 3.0モードを優先に変更するか専用にすれば正常に表示されましたが、Vulkan優先か専用にした場合に記載の症状が発生します。 QualitySettingsを変更しても動作に影響は出ませんでした。

プロジェクトは新規に作成し、UTSを使用するモデルと2.0.6をインポートし、PlayerSettingのAPIをVulkanに変更した場合のみで発生します。

また関連があるかわからないのですが、そのビルドを作るときは以下のようなログがConsoleに残ることがありました。(記録がない場合はありますが、動作に変化はありませんでした)

Shader error in 'UnityChanToonShader/Toon_DoubleShadeWithFeather': invalid subscript '_ShadowCoord' at Assets/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc(180) (on gles3)

Compiling Vertex program with UNITY_PASS_FORWARDBASE DIRECTIONAL SHADOWS_SHADOWMASK LIGHTPROBE_SH _IS_CLIPPING_OFF _IS_PASS_FWDBASE Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_DLDR_ENCODING

Shader error in 'UnityChanToonShader/Toon_DoubleShadeWithFeather_TransClipping': invalid subscript '_ShadowCoord' at Assets/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc(180) (on gles3)

Compiling Vertex program with UNITY_PASS_FORWARDBASE DIRECTIONAL SHADOWS_SHADOWMASK LIGHTPROBE_SH _IS_PASS_FWDBASE _IS_CLIPPING_TRANSMODE Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_DLDR_ENCODING

Shader error in 'UnityChanToonShader/Toon_DoubleShadeWithFeather_StencilMask': invalid subscript '_ShadowCoord' at Assets/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc(180) (on gles3)

Compiling Vertex program with UNITY_PASS_FORWARDBASE DIRECTIONAL SHADOWS_SHADOWMASK LIGHTPROBE_SH _IS_CLIPPING_OFF _IS_PASS_FWDBASE Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_DLDR_ENCODING

Shader error in 'UnityChanToonShader/AngelRing/Toon_ShadingGradeMap_StencilOut': invalid subscript '_ShadowCoord' at Assets/Toon/Shader/UCTS_ShadingGradeMap.cginc(207) (on gles3)

Compiling Vertex program with UNITY_PASS_FORWARDBASE DIRECTIONAL SHADOWS_SHADOWMASK LIGHTPROBE_SH _IS_PASS_FWDBASE _IS_TRANSCLIPPING_OFF _IS_ANGELRING_ON Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_DLDR_ENCODING

Shader error in 'UnityChanToonShader/AngelRing/Toon_ShadingGradeMap': invalid subscript '_ShadowCoord' at Assets/Toon/Shader/UCTS_ShadingGradeMap.cginc(207) (on gles3)

Compiling Vertex program with UNITY_PASS_FORWARDBASE DIRECTIONAL SHADOWS_SHADOWMASK LIGHTPROBE_SH _IS_PASS_FWDBASE _IS_TRANSCLIPPING_OFF _IS_ANGELRING_ON Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_DLDR_ENCODING

Shader error in 'UnityChanToonShader/Toon_ShadingGradeMap_StencilMask': invalid subscript '_ShadowCoord' at Assets/Toon/Shader/UCTS_ShadingGradeMap.cginc(207) (on gles3)

Compiling Vertex program with UNITY_PASS_FORWARDBASE DIRECTIONAL SHADOWS_SHADOWMASK LIGHTPROBE_SH _IS_PASS_FWDBASE _IS_TRANSCLIPPING_OFF _IS_ANGELRING_OFF Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_DLDR_ENCODING

Nobuyuki-Kobayashi commented 5 years ago

UTS2 v.2.0.7でVulkan対応をしましたので、テストしていただけるとよいかと思います。 結果がわかりましたら、よろしければご連絡くださいませ。

※こちらではAndroid実機(Galaxy S7)とWindows10でのVulkanで表示テストは終了しています。

MasashiWada commented 5 years ago

ご対応ありがとうございます。 同プロジェクトに v2.0.7を組み込み、意図した表示になることが確認できました。

Nobuyuki-Kobayashi commented 5 years ago

ご連絡ありがとうございます! Androidは種類も多く、沢山の機種での検証が難しいので、実際に無事動いたご連絡をいただけることは他の皆様にとっても重要な情報となります。 今後ともよろしくお願いします。