LoginSignup
1
0

More than 1 year has passed since last update.

RenderTextureによるUIスクリーンのぼやけ問題

Last updated at Posted at 2022-03-04

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です。

1.jpg

A1:FrameDebuggerで問題がある実行Shaderを特定することをお勧めします。問題があるのは、Shaderのレンダリング実行順序が間違っている可能性があります。RenderPassEvent設定が正しいかどうかを確認してください。

A2:問題が見つかりました。RenderTexture.GetTemporaryが使用され、depthBufferパラメーターが16に渡されますが、0なら問題なくなります。


Lua

Q:下図に示すように、Unity 2019 ToluaによってエクスポートされたParticleSystemは異常になります。

2.png

ここの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を配置しました。
3.png

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で通常どおりフレームをキャプチャすることもできます)

1プラスのフレームキャプチャ結果:
4.png

Huaweiのフレームキャプチャ結果:
5.png

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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0