CyberAgentGameEntertainment / NovaShader

Multi-functional shader for the Particle System that supports Universal Render Pipeline (URP) of Unity.
MIT License
1.11k stars 73 forks source link

PS5プラットフォーム:開発機などで実行した際、エフェクトがピンク一色で塗り潰されたような表示になり、正常に描画されない #78

Closed hakuvalley closed 4 weeks ago

hakuvalley commented 1 month ago

お世話になります。 こちらバグ報告というよりは質問になるのかと思いますが、以下に記載致します。

PS5プラットフォームでUnityプロジェクトをビルドし、 開発機にて実行した所、表記の様な現象が発生しまして、 コンソール上のログを見た所、下記のエラー(図の赤枠)が出力されておりました。

image

表記の現象とログに出力されているエラーが 関係しているかはまだ分かりませんが、 PS5プラットフォームでNovaParticlesを使用する際、こちらのエラーを解決する為に 何か必要な設定や確認の手順などはございますでしょうか?

下記も念の為試してみましたが、現象は変わりませんでした。 image

恐らくUnityの設定回りだとは思いますが、 NovaShaderの詳細を自分の方でまだ把握できていない所もありまして、 大変恐縮ですが、もし何か分かることがございましたら、 ご教示いただけますと幸いです。

参考として、Unityのバージョンやパッケージの情報を記載致します。 (ちなみにPCとSwitchプラットフォームでは問題無く動作しております)

Unityバージョン:2022.3.28f1 image

※ ビルドやプラットフォーム切り替え時、 以下のようなエラーもいくつか出ておりました。

Shader error in 'Nova/Particles/UberUnlit': Program 'frag', ambiguous call to 'lerp'. Found 91 possible candidates:
at /Project/Library/PackageCache/jp.co.cyberagent.nova@bbcc34e1a6/Runtime/Core/Shaders/ParticlesUber.hlsl(407) (on ps5_cggc)

Compiling Subshader: 0, Pass: , Fragment program with _ALPHA_TRANSITION_MAP_MODE_2D _BASE_MAP_MODE_2D _EMISSION_COLOR_BASECOLOR _EMISSION_MAP_MODE_2D _PARALLAX_MAP_MODE_2D _TINT_COLOR_ENABLED _TRANSPARENCY_BY_RIM
Platform defines: UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_PLATFORM_SUPPORTS_WAVE_64 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS Disabled keywords: DEBUG_DISPLAY FOG_EXP FOG_EXP2 FOG_LINEAR INSTANCING_ON PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING _ALPHAMODULATE_ENABLED _ALPHATEST_ENABLED _ALPHA_TRANSITION_MAP_MODE_2D_ARRAY _ALPHA_TRANSITION_MAP_MODE_3D _BASE_MAP_MODE_2D_ARRAY _BASE_MAP_MODE_3D _BASE_SAMPLER_STATE_LINEAR_MIRROR _BASE_SAMPLER_STATE_POINT_MIRROR _BASE_SAMPLER_STATE_TRILINEAR_MIRROR _DEPTH_FADE_ENABLED _DISSOLVE_TRANSITION_ENABLED _EMISSION_AREA_ALL _EMISSION_AREA_ALPHA _EMISSION_AREA_MAP _EMISSION_COLOR_COLOR _EMISSION_COLOR_MAP _EMISSION_MAP_MODE_2D_ARRAY _EMISSION_MAP_MODE_3D _FADE_TRANSITION_ENABLED _FLOW_MAP_ENABLED _FLOW_MAP_TARGET_ALPHA_TRANSITION _FLOW_MAP_TARGET_BASE _FLOW_MAP_TARGET_EMISSION _FLOW_MAP_TARGET_TINT _GRADIENT_MAP_ENABLED _GREYSCALE_ENABLED _PARALLAX_MAP_MODE_2D_ARRAY _PARALLAX_MAP_MODE_3D _PARALLAX_MAP_TARGET_BASE _PARALLAX_MAP_TARGET_EMISSION _PARALLAX_MAP_TARGET_TINT _SOFT_PARTICLES_ENABLED _TINT_AREA_ALL _TINT_AREA_RIM _TINT_MAP_3D_ENABLED _TINT_MAP_ENABLED _TRANSPARENCY_BY_LUMINANCE _VERTEX_ALPHA_AS_TRANSITION_PROGRESS

宜しくお願い致します。

CyTakayukiKiyohara commented 1 month ago

お問い合わせありがとうございます。 開発チームの手元にPlay Station 5の開発環境がないためご報告いただいたエラーを調査することは難しいのですが、プラットフォーム切り替え時のエラーでlerp関数が曖昧というエラーがでており、同様のエラーがUnityのコミュニティで報告されているようでした。

https://discussions.unity.com/t/shader-error-ambiguous-lerp/712942

下記のようにParticlesUber.hlslでlerp関数を使われている箇所の引数の型を明示的に指定すれば、このエラーを回避できるのではと思いますので、一度試して頂けますでしょうか

 // color *= lerp(1,1,1,1,  tintColor, saturate(blendRate);
 color *= lerp(half4(1,1,1,1),  tintColor, saturate(blendRate);
hakuvalley commented 1 month ago

回答頂きありがとうございます。 提案頂いた修正で試した所、エラーが無くなり、描画崩れが解消されました。 参考までに解消までの手順を記載致します。

LibrayフォルダのPackageCache内にある、jp.co.cyberagent.nova@bbcc34e1a6 を、Packagesフォルダに移す。 (一応、移した先のフォルダ名は、@マーク以降は削除) ↓ ParticlesUber.hlsl を編集し、407行目の箇所を以下で修正

// color *= lerp(1,1,1,1,  tintColor, saturate(blendRate);
color *= lerp(half4(1,1,1,1),  tintColor, saturate(blendRate));

これでビルドして実行したところ、先述のエラーが出なくなり、 エフェクトの描画も正常に表示されるようになりました。

頂いたヒントが参考になりまして、大変助かりました。 お忙しい所確認・サポート頂きまして、ありがとうございました・・・!

CyTakayukiKiyohara commented 4 weeks ago

こちらこそエラーを報告して頂きありがとうございました。 修正できたとのことでしたので、こちらの修正をmainブランチにも反映させていただこうと思います。

今後とも何かありましたら、ご相談ください。

CA-Tatami commented 4 weeks ago

@hakuvalley 上記修正がVer.2.3.0へ反映されています。 必要であれば作業環境で更新いただければと思います。

hakuvalley commented 4 weeks ago

@CyTakayukiKiyohara @CA-Tatami

こちら、修正後は今の所 問題無く動作しております。 正式に修正対応頂き、また連絡も頂きまして、 ありがとうございました。

今後ともよろしくお願いいたします。