【Unity】【IOS】TextMeshProUGUIで文字が消滅する

未分類
文字が消える

ver. Unity 2022.3.22f1

現象について

スマホで見たときにこうなってしまう!

これはPCでデバッグしている時↓

Admobさんから以下のメッセージがあり、問題が発覚しました。最近まで所持している実機で起きていなかったのですが、現象が確認できるようになりました。iOSのアップデートの影響も関係しているのかもしれない。

以下参考にさせてもらった記事です。

canvasのRender Modeが Screen Space Overlayのもので、TextMeshProUGUIを利用している箇所のみ消える現象が発生しました。

原因としては、同じシーン内に同じフォントの3Dテキストがあると現象が起きるみたいです。カードのプレハブに字が書いてありますがこれは3DTextであり、これと競合しちゃっているのが原因みたいです。(このバグまじでなんとかしてくれ)

そのため、それぞれ違うマテリアルを利用すればいいとこと。

修正方法

 第一のアプローチ。以下のようにフォントを複製して試して見ましたが、実機でみたときにまた同じ現象が発生しました。SDFファイルを複製するだけではダメでした。

 第二のアプローチ。Overlayのtextと3Dtextで違うフォントを使うことにしました。このアプローチはいけました。ただ量が膨大すぎてマジでしんどいと思ったので便利な方法を調べると以下のサイトが出てきたのでこちらを利用させていただきました。

【Unity】TextMeshProのフォントを一括変更する方法【Textで検索できない人向け】
ゲーム内のテキストのフォントを変更する必要があったとき、ヒエラルキーの検索窓でTypeにして「Text」と検索しても、TextMesh Proのコンポーネントがヒットせず困り果てた人向けの記事。 前提

以下のように、検索窓からTypeとし、

「TextMeshProUGUI」と打つと全てのTextMeshProUGUIが表示されます。

command + aで全選択してインスペクターのFont Assetを変更することで一括でフォントを変更できました。これを全てのシーンで繰り返し、なんとか修正できました。

ご覧いただきありがとうございました!異世界カード勇者3Dオンラインもよろしくお願いします!

matomatoのアプリ紹介↓

コメント