1)RenderTextureによるUIスクリーンのぼやけ問題
2)Unity 2019ToLuaエクスポートParticleSystemが異常
3)Android 10でのUWAGOTスクリーンショットの問題
4)Addressables.CheckForCatalogUpdatesおよびAddressables.GetDownloadSizeAsyncに関する問題
5)RenderDocでHuaweiのフレームをキャプチャすることはできない
Rendering
Q:UIスクリーンのぼやけを確認するにはどうすればよいですか?緑が表示され、紫も点滅しています。下の図に示すように、黒の背景と紫が点滅しており、スクリーンショットを撮ることができません。これは実機にしか表示されません。エミュレータでは問題なく表示されます。
この黒い背景は、SRPによって実装されたRenderTextureのBlur効果であり、使用されるデバイスはXiaomiK30です。
A1:FrameDebuggerで問題がある実行Shaderを特定することをお勧めします。問題があるのは、Shaderのレンダリング実行順序が間違っている可能性があります。RenderPassEvent設定が正しいかどうかを確認してください。
A2:問題が見つかりました。RenderTexture.GetTemporaryが使用され、depthBufferパラメーターが16に渡されますが、0なら問題なくなります。
Lua
Q:下図に示すように、Unity 2019 ToluaによってエクスポートされたParticleSystemは異常になります。
ここのTypeはnullであるため、ParticleSystemをエクスポートできません。
A:1.0.8.595でUnityランタイムライブラリ[out]でout以外のパラメータをマークする問題に対処し、公式Webサイトにアクセスして更新してください。
https://github.com/topameng/tolua/commits
topameng committed on 19 Jun 2020
Android
Q:UWAはAndroid 10でスクリーンショット機能を正常に使用できません。ドキュメントに従ってManifestを配置しました。
A:これは、UWA GOT Onlineパッケージ化のWrite権限の問題に対する解決策であり、スクリーンショットの問題を解決することはできません。現在、Android 10システムを搭載した実機では、APKによって設定されたTargetSDKVersion <= 28の場合にのみスクリーンショットすることができます。TargetSDKVersionは<= 28(28はAndroid 9)に設定されており、APKは引き続きAndroid10で実行できます。
Addressable
Q:Addressables.CheckForCatalogUpdatesとAddressables.GetDownloadSizeAsyncが常にAsyncOperationStatus.Succeededを返すのはなぜですか?
httpサーバーを開いていませんが、それでも成功に返します。元々、Addressables.CheckForCatalogUpdates
とAddressables.GetDownloadSizeAsyncを使用して、アセットを更新する必要があるかどうかを判断しましたが、httpサーバーさえ開いていませんが、正常に返され、更新する必要がないことが検出されました。どのように対処しますか?
Addressableバージョン1.16.15
Unity 2018.4.14f
A1:コードをチェックした最後、CheckCatalogsOperationのExecuteメソッドに、直接にComplete(result、true、null);のように返したため、常に成功していることがわかりました。
A2:Addressables.CheckForCatalogUpdatesは、「catalog ids」のリストを返し、更新があるかどうかを判断します。リストが存在するかどうかを判断するのに十分です。
httpサーバーが開いていない場合は、更新する必要はなく、更新することもできません。GetDownloadSizeAsyncは、最新のCatalogのAssetBundleのhashとダウンロードされたAssetBundleのhashと比較して、ダウンロードする必要があるかどうかを判断し、ダウンロードする必要がある場合はSizeを累積します。catalogは更新されていないため、当然、カタログとは関係ありません。
どのように対処するかは、ビジネスレイヤーがどのように設計したいかによって異なります。例えば:
更新サーバーが開いているかどうかにかかわらず、ゲームに入ったのは、現在のCheckForCatalogUpdatesリターンリストが空で、更新する必要はないと見なされ、実行を続行します。
更新サービスがオンラインである必要がある場合、外部プログラムでサーバーが働いてしているかどうかを判断し、ゲーム更新ロジックに入ります。
Rendering
Q:最近、レンダリング深度が正しくないという問題が発生しました。 Snapdragonモデルでのレンダリングが間違っており(エディターと一致していない)、HuaweiモデルとiOSでのレンダリングが正しいです。そこで、RenderDocを使用してフレームをキャプチャして両者の違いを比較します。どちらのステップが異なるかを確認したいと思います。
同じパッケージをSnapdragonモデル(約数十MBのデータを含む.rdcファイル)ではキャプチャできますが、Huaweiモデル(約3MBのデータのみを含む.rdcファイル)ではキャプチャされたのは黒いであることがわかりました。
RenderDocのIssueにそれと似た問題を見つけました。おそらくこの問題が解決されていないようです。
https://github.com/baldurk/renderdoc/issues/2106
テスト環境:
Unity 2018.4 / Unity 2019.4
OpenGL ES3(Vulkanを使用している場合は、Huaweiで通常どおりフレームをキャプチャすることもできます)
A: Mali Gpuを搭載したOPPOがフレームキャプチャができると発見しました、Huaweiでこの問題を確認し続けることはできません。
ただし、考察するうちに、改訂されたRenderDocはHuaweiでフレームをキャプチャできると発見しました。
https://developer.huawei.com/consumer/cn/forum/topic/0203337632069160300
UWA Technologyは、モバイル/VRなど様々なゲーム開発者向け、パフォーマンス分析と最適化ソリューション及びコンサルティングサービスを提供している会社でございます。
今なら、UWA GOTローカルツールが15日間に無償試用できます!!
よければ、ぜひ!
UWA公式サイト:https://jp.uwa4d.com
UWA GOT OnlineレポートDemo:https://jp.uwa4d.com/u/got/demo.html
UWA公式ブログ:https://blog.jp.uwa4d.com