ログのフォントが文字化けのようになることがあります

1,118 views
Skip to first unread message

mikazuki

unread,
Jan 30, 2018, 7:01:17 PM1/30/18
to 宴ユーザーグループ
Unityの習熟度:2年 業務経験なし
宴のバージョン:3.3.1
UnityのバージョンとOS:Unity2017.3.0f3 Windows
UnityのConsoleウィンドウのエラーメッセージ:なし

いつも大変お世話になっております。
必ず発生するわけではないのですが、Unityエディターやスタンドアロン(Windows)で会話のログを表示させると、たまにログのフォントが崩れ、文字化けのような状態になってしまうことがあります。

発生時の画像とプロジェクトをお送りいたします。
お手数おかけして恐縮ですが、何卒よろしくお願いいたします。

マッドネスラボ

unread,
Jan 30, 2018, 10:24:49 PM1/30/18
to 宴ユーザーグループ
ご連絡ありがとうございます。
テキスト関係を高速化した色々いじった関係で、不具合がでているようです。
対処療法で不安定になってしまっているようなので、ちょっと大掛かりにメンテしてみます。


mikazuki

unread,
Jan 31, 2018, 2:05:27 AM1/31/18
to 宴ユーザーグループ
ありがとうございます。
どうぞよろしくお願いします。

マッドネスラボ

unread,
Jan 31, 2018, 7:05:34 AM1/31/18
to 宴ユーザーグループ
修正しました。
添付のパッケージファイルをご確認ください。

ちょっと大きくコードを整理したので、今まで起きがちな問題が再発しないように改めてチェックしました。
(文字化けのほかに・・・各種テキストタグや、バックログやセーブボタンのテキスト、セーブからの再開後のテキストや名前テキスト、文字送りのアイコンの位置、PreferedWitdhを使った場合など・・・)

けっこうチェックしたので大丈夫だとは思うのですが、もし過去の問題が再発したりしたらご連絡ください。
また、ほかにチェックが必要そうな不安点があれば教えていただければこちらでもチェックします。


FixTextBug.unitypackage

mikazuki

unread,
Jan 31, 2018, 7:43:03 PM1/31/18
to 宴ユーザーグループ
修正していただきありがとうございます。

ログのバグは5回ほど試してみて、今のところ出てきていませんが、パッケージファイルインポート時と、ゲーム再生中に以下のエラーが出ましたので、ご報告いたします。

FixTextBug.unitypackageインポート時のエラー(5つ)

NullReferenceException: Object reference not set to an instance of an object
Utage.UguiNovelTextFontInfoBuilder.TryeSetFontCharcters (UnityEngine.Font font, System.Collections.Generic.List`1 characterDataList, Utage.UguiNovelTextGeneratorAdditional additional) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextFontInfoBuilder.cs:68)
Utage.UguiNovelTextFontInfoBuilder.InitFontCharactes (UnityEngine.Font font, System.Collections.Generic.List`1 characterDataList, Utage.UguiNovelTextGeneratorAdditional additional) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextFontInfoBuilder.cs:31)
Utage.UguiNovelTextGeneratorInfo.RebuildFontTexture (UnityEngine.Font font) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGeneratorInfo.cs:153)
Utage.UguiNovelTextGenerator.OnTextureRebuild (UnityEngine.Font font) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:309)
Utage.UguiNovelText.OnTextureRebuild (UnityEngine.Font font) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:89)
UnityEngine.Font.InvokeTextureRebuilt_Internal (UnityEngine.Font font) (at C:/buildslave/unity/build/artifacts/generated/common/modules/TextRendering/TextRenderingBindings.gen.cs:592)


NotTextUpdated OnCreateVertex 
UnityEngine.Debug:LogError(Object)
Utage.UguiNovelTextGenerator:CreateVertex(List`1) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:318)
Utage.UguiNovelText:OnPopulateMesh(VertexHelper) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:55)
UnityEngine.Canvas:SendWillRenderCanvases()


NullReferenceException: Object reference not set to an instance of an object
Utage.UguiNovelTextGenerator.get_CurrentLengthOfView () (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:113)
Utage.UguiNovelTextGeneratorInfo.CreateVertex (System.Collections.Generic.List`1 verts) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGeneratorInfo.cs:162)
Utage.UguiNovelTextGenerator.CreateVertex (System.Collections.Generic.List`1 verts) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:320)
Utage.UguiNovelText.OnPopulateMesh (UnityEngine.UI.VertexHelper vh) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:55)
UnityEngine.UI.Graphic.DoMeshGeneration () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:380)
UnityEngine.UI.Graphic.UpdateGeometry () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:374)
UnityEngine.UI.Text.UpdateGeometry () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Text.cs:378)
UnityEngine.UI.Graphic.Rebuild (CanvasUpdate update) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:335)
UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/CanvasUpdateRegistry.cs:150)
UnityEngine.Canvas:SendWillRenderCanvases()


NotTextUpdated OnCreateVertex 

UnityEngine.Debug:LogError(Object)
Utage.UguiNovelTextGenerator:CreateVertex(List`1) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:318)
Utage.UguiNovelText:OnPopulateMesh(VertexHelper) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:55)
UnityEngine.Canvas:SendWillRenderCanvases()


NullReferenceException: Object reference not set to an instance of an object
Utage.UguiNovelTextGenerator.get_CurrentLengthOfView () (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:113)
Utage.UguiNovelTextGeneratorInfo.CreateVertex (System.Collections.Generic.List`1 verts) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGeneratorInfo.cs:162)
Utage.UguiNovelTextGenerator.CreateVertex (System.Collections.Generic.List`1 verts) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:320)
Utage.UguiNovelText.OnPopulateMesh (UnityEngine.UI.VertexHelper vh) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:55)
UnityEngine.UI.Graphic.DoMeshGeneration () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:380)
UnityEngine.UI.Graphic.UpdateGeometry () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:374)
UnityEngine.UI.Text.UpdateGeometry () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Text.cs:378)
UnityEngine.UI.Graphic.Rebuild (CanvasUpdate update) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:335)
UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/CanvasUpdateRegistry.cs:150)
UnityEngine.Canvas:SendWillRenderCanvases()



ゲーム再生中のエラー(3つ)

FontTextureRebuildCallback
UnityEngine.Debug:LogError(Object)
Utage.UguiNovelTextFontInfoBuilder:FontTextureRebuildCallback(Font) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextFontInfoBuilder.cs:98)
UnityEngine.Font:RequestCharactersInTexture(String, Int32, FontStyle)
Utage.UguiNovelTextFontInfoBuilder:RequestCharactersInTexture(Font, List`1, UguiNovelTextGeneratorAdditional) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextFontInfoBuilder.cs:90)
Utage.UguiNovelTextFontInfoBuilder:InitFontCharactes(Font, List`1, UguiNovelTextGeneratorAdditional) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextFontInfoBuilder.cs:38)
Utage.UguiNovelTextGeneratorInfo:BuildCharcteres() (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGeneratorInfo.cs:104)
Utage.UguiNovelTextGenerator:Refresh() (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:265)
Utage.UguiNovelTextGenerator:RefreshAll() (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:257)
Utage.UguiNovelTextGenerator:OnEnable() (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelTextGenerator.cs:245)
UnityEngine.GameObject:SetActive(Boolean)
Utage.AdvUguiMessageWindow:LateUpdate() (at Assets/Utage/Scripts/ADV/UI/AdvUguiMessageWindow.cs:166)



Trying to add NameText (Utage.UguiNovelText) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.
UnityEngine.UI.Graphic:SetVerticesDirty()
Utage.UguiNovelText:SetVerticesDirty() (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:108)
Utage.UguiNovelText:OnTextureRebuild(Font) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:88)
UnityEngine.Canvas:SendWillRenderCanvases()



Trying to add MessageText (Utage.UguiNovelText) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.
UnityEngine.UI.Graphic:SetVerticesDirty()
Utage.UguiNovelText:SetVerticesDirty() (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:108)
Utage.UguiNovelText:OnTextureRebuild(Font) (at Assets/Utage/Scripts/GameLib/UI/NovelText/UguiNovelText.cs:88)
UnityEngine.Canvas:SendWillRenderCanvases()


エラーは出ますが、ゲーム自体は進めることができます。
どうぞよろしくお願いします。

マッドネスラボ

unread,
Jan 31, 2018, 10:56:10 PM1/31/18
to 宴ユーザーグループ
ありがとうございます。
エラーメッセージの対策をしました。
添付のパッケージファイルをご確認ください。


FixFontRebuild.unitypackage

mikazuki

unread,
Feb 1, 2018, 12:18:46 AM2/1/18
to 宴ユーザーグループ
ありがとうございます。
エラーメッセージが出なくなりました。
今のところ、特に不具合は生じておりません。
もし何か気付く点がございましたら、またご報告させていただきます。
今後ともどうぞよろしくお願いします。

mikazuki

unread,
Feb 17, 2018, 3:56:59 AM2/17/18
to 宴ユーザーグループ
Unityの習熟度:2年 業務経験なし
宴のバージョン:3.3.4
UnityのバージョンとOS:Unity2017.3.0f3 Windows
UnityのConsoleウィンドウのエラーメッセージ:なし

お世話になっております。
テキスト関連で不具合らしき現象を見つけましたので、こちらでご報告させていただきます。

台詞のログを表示させたあと、シナリオ画面に戻るとキャラクターの台詞が消えてしまうことがあります。
こちらで試してみた限りでは、発生頻度は20回中2~3回程度です。
発生条件までは分かりませんでした。

発生時のキャプチャとプロジェクトをお送りいたします。
お手数おかけいたしますが、どうぞよろしくお願いいたします。

マッドネスラボ

unread,
Feb 17, 2018, 5:42:42 AM2/17/18
to 宴ユーザーグループ
ご連絡ありがとうございます。
修正しました。

FixText.unitypackage

mikazuki

unread,
Feb 17, 2018, 6:56:12 AM2/17/18
to 宴ユーザーグループ
正しく表示されるようになりました。
ご対応いただきありがとうございます。
Reply all
Reply to author
Forward
0 new messages