Android(Mobile)でTextmeshProUGUIが描画されない

トラブルシューティング

表示されません。新規にフォンtアセット作りなおしてアサインすれば表示されます。

FrameDebuggerで見てみると不可解なDrawMeshイベントがありました。UIを描画してるはずなのにZTestが行われ、mainTexはありません。

Profillerで見るとメモリ上にはAtlasは存在してます。

スポンサーリンク

原因

TextMesh Pro - Null Reference Exception with Empty String
TextMesh Pro returns a null reference exception error if I try to reference text that's empty. I get the error even if I try to get the text.length....

ワールド空間にTextMeshPro、UI空間(ScreenspaceCamera or ScreenspaceOverlay)にTextMeshProUGUIがあり、共通のMaterialPresetを使っていると発生します。

ワールド空間では確かにZTestが行われ、UI空間では行われないのはなんとなくわかります。そのうえで共通のMaterialとなると矛盾が発生します。結果として今回のようなバグにつながりました。

対策

ワールド空間で使うTextMeshPro用のMaterialPresetを用意します。こうすればZTestの矛盾がなくなり正常に描画されます。

フォントを新規に作って正常に描画されたのは、MaterialPresetも新規に作られたためです。

Standalone buildで正常に描画されたのは偶然というか、デバイスが違うからじゃないでしょうか?(よくある