なにがおこったか
|
1 2 |
Atlas is full, consider enabling multi-atlas textures in the Font Asset: English - OSX UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:224) |
これがログに表示され、Editor拡張内で使用しているメモノードに正常に日本語が表示されなくなった。
これは、Unityが自動で作成してくれるフォントアセットらしく、こちらから操作したり、設定を変更することが出来ないフォントの様子。なので、溢れたらもう終わりでこれ以上新しい文字が使えない、ということが起きている。
どう解決したか
専用に1つフォントをDLし、直接割り当てた
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using UnityEditor; using UnityEngine; using UnityEngine.UIElements; // プロジェクトに取り込んだフォント (.ttf/.otf) を Editor で読む // Editor フォルダ配下に置けばビルドには含まれない const string FontPath = "Assets/_Game/Editor/Fonts/NotoSansJP-Regular.ttf"; // 毎回ロードしないよう static キャッシュ static Font editorJpFont; static Font EditorJpFont => editorJpFont ??= AssetDatabase.LoadAssetAtPath<Font>(FontPath); // --- UI Toolkit 要素への割り当て --- var field = new TextField { multiline = true }; if (EditorJpFont != null) field.style.unityFontDefinition = new StyleFontDefinition(FontDefinition.FromFont(EditorJpFont)); |
