ステータスの表示がおかしい

Created at
Updated at

画像の通りですがステータス表示の文字が変です。

用語の設定では攻撃力、運としていますがプレイ画面はやはり画像の通りになっています。またステータス表示状態でコントローラーのLRボタンなどでキャラクタ変更を行ってもステータスの数字がキャラクタ変更について行きません。

 

01_HDK_3375_DFSD_94_PB_3_YCGT_6_SSB_ec2247621a
Comments

Created at
Updated at

ご報告誠にありがとうございます。

以下をご教示いただいてもよろしいでしょうか。

  • Unityエディターのバージョン
  • RPG Maker Uniteのバージョン
  • Unityの言語設定
  • 新規プロジェクトでも発生するかどうか
  • データベースの、「初期設定>用語>能力値」のスクリーンショット

ご不便をおかけしてしまい誠に申し訳ございません。 何卒よろしくお願い申し上げます。


Created at

unity editorはver2021.3.24f1

RMUはVer1.00.04

Unityの言語設定は日本語です。

新規プロジェクトは時間がかかるためまだ分かりません。

01_HDNZSTTPTF_72_G0_K8_S7_XRHC_5_V_215f26f3a5

 


Created at

詳細をご教示くださり誠にありがとうございます。

調査の結果、何らかの原因で「TextMesh Pro」フォルダ内が破損してしまったためにこのような現象が発生しているようです(お客様が投稿されている、他の2件も同じ原因であると推察されます)。

解決するには以下の手順をお試しください。

  1. 以下のフォルダ内にある「project_base_v1.0.5.zip」を任意の場所にコピーしてください。 【Windows】 C:\Users\<ユーザ名ー>\AppData\LocalLow\.RPGMaker\ 【Mac】 /home/<ユーザー名>/.RPGMaker
  2. 1を解凍し、出てきたフォルダ内のrpgmaker/Assets/TextMesh Proフォルダをコピーしてください。
  3. プロジェクト内のAssetsフォルダ内にあるTextMesh Proフォルダを、2でコピーしたものに置き換えてください。

ご不便をおかけしてしまい誠に申し訳ございません。 何卒よろしくお願い申し上げます。


Created at

project_baseファイルについてですが見てみたところバージョンが1.0.0でした。

プロジェクト内のzip.meta拡張子のファイルも同様です。

アップデートに失敗しているのでしょうか。

今まで1.00.00→1.00.01→1.00.02→1.00.04とアップデートを行っていますが必ず途中でアップデートが止まってしまいパッチが必須でした。

対処法を教えて頂きたいです。


Created at

新規プロジェクトにRPG Maker Uniteの現時点での最新版である1.00.04をインポートしてください。

インポート完了後、上述のフォルダ内にproject_base_v1.0.4.zip(上記では1.0.5と記載いたしましたが、1.0.4の誤りです。大変失礼いたしました。)が生成されますので、こちらをお使いください。

何卒よろしくお願い申し上げます。


Created at
Updated at

project_baseのファイルを置き換えたところステータスや戦闘、装備等の表示関連の不具合は直りました。

ありがとうございました。

しかしその後にスキル付きの武器を使用して戦闘で攻撃を行ったところ再度エラーが出て

また同様の不具合が出るようになってしまいました。

project_baseファイルの破損はそれが原因ではないでしょうか。

以下使用していた武器のスクリーンショットです。

特徴の欄で付加しているスキルの中身は敵に対してランダムで3回攻撃する、というものでした。

01_HDV_3_RY_0_CJ_6_AKHWC_26_P7_CCBDB_81fc79f7f7

Created at

お返事が遅くなってしまい申し訳ございません。

昨日Uniteの最新版1.00.06がリリースされました。このバージョンにアップデートしてみて、状況が改善されるかをご確認いただいてもよろしいでしょうか。

お手数をおかけしますが、何卒よろしくお願い申し上げます。


Created at

ステータスの表示がおかしくなることは無くなっていますが

戦闘中に文字が消える不具合はver1.00.06でもまだ起こります。

起こるきっかけがあったと思われる時にエラーは以下のように出てきます。

NullReferenceException: Object reference not set to an instance of an object TMPro.TMP_FontAsset.SetupNewAtlasTexture () (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAsset.cs:2415) TMPro.TMP_FontAsset.TryAddCharacterInternal (System.UInt32 unicode, TMPro.TMP_Character& character) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAsset.cs:2118) TMPro.TMP_FontAssetUtilities.GetCharacterFromFontAsset_Internal (System.UInt32 unicode, TMPro.TMP_FontAsset sourceFontAsset, System.Boolean includeFallbacks, TMPro.FontStyles fontStyle, TMPro.FontWeight fontWeight, System.Boolean& isAlternativeTypeface) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAssetUtilities.cs:159) TMPro.TMP_FontAssetUtilities.GetCharacterFromFontAssets (System.UInt32 unicode, TMPro.TMP_FontAsset sourceFontAsset, System.Collections.Generic.List`1[T] fontAssets, System.Boolean includeFallbacks, TMPro.FontStyles fontStyle, TMPro.FontWeight fontWeight, System.Boolean& isAlternativeTypeface) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAssetUtilities.cs:241) TMPro.TMP_Text.GetTextElement (System.UInt32 unicode, TMPro.TMP_FontAsset fontAsset, TMPro.FontStyles fontStyle, TMPro.FontWeight fontWeight, System.Boolean& isUsingAlternativeTypeface) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_Text.cs:6147) TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMPro_UGUI_Private.cs:1209) TMPro.TMP_Text.ParseInputText () (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_Text.cs:1902) TMPro.TextMeshProUGUI.OnPreRenderCanvas () (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMPro_UGUI_Private.cs:1644) TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TextMeshProUGUI.cs:216) UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/CanvasUpdateRegistry.cs:215) UnityEngine.Canvas:SendWillRenderCanvases()

 

その後スキルが使用されたりすると次のエラーを吐き続けます。

issingReferenceException: The object of type 'Texture2D' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. TMPro.TMP_FontAsset.TryAddCharacterInternal (System.UInt32 unicode, TMPro.TMP_Character& character) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAsset.cs:2063) TMPro.TMP_FontAssetUtilities.GetCharacterFromFontAsset_Internal (System.UInt32 unicode, TMPro.TMP_FontAsset sourceFontAsset, System.Boolean includeFallbacks, TMPro.FontStyles fontStyle, TMPro.FontWeight fontWeight, System.Boolean& isAlternativeTypeface) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAssetUtilities.cs:159) TMPro.TMP_FontAssetUtilities.GetCharacterFromFontAssets (System.UInt32 unicode, TMPro.TMP_FontAsset sourceFontAsset, System.Collections.Generic.List`1[T] fontAssets, System.Boolean includeFallbacks, TMPro.FontStyles fontStyle, TMPro.FontWeight fontWeight, System.Boolean& isAlternativeTypeface) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_FontAssetUtilities.cs:241) TMPro.TMP_Text.GetTextElement (System.UInt32 unicode, TMPro.TMP_FontAsset fontAsset, TMPro.FontStyles fontStyle, TMPro.FontWeight fontWeight, System.Boolean& isUsingAlternativeTypeface) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_Text.cs:6147) TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMPro_UGUI_Private.cs:1209) TMPro.TMP_Text.ParseInputText () (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_Text.cs:1902) TMPro.TextMeshProUGUI.OnPreRenderCanvas () (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMPro_UGUI_Private.cs:1644) TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) (at Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TextMeshProUGUI.cs:216) UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/CanvasUpdateRegistry.cs:215) UnityEngine.Canvas:SendWillRenderCanvases()


Created at
Updated at

私も同様の事象になったことがあります。 独自のやり方で、環境を再構築すると治るので、今は、発生していない状態です。

私は、今の所、1.00.06 では、不具合が発生していません。 でも、一旦発生すると繰り返し発生して、動作が不安定になります。

何か、特定の文字を使おうとすると不具合が起きるようです。

以前発生したときは、メニューから「万能薬」を使おうとしたら不具合がおきました。 色々と調査したところ、説明の 「戦闘不能以外の状態異常を回復する。」 を表示させようとすると不具合が発生してしまうことがわかりました。 この中のどれかの文字が使えなくなっていると思われます。 この説明を消したら、普通に動きましたので。。。

そこで、TMPについて調べてみました。

特定の文字が、指定されたフォントアセットで対応していない場合、 FallBackに登録されたフォントアセットが使われるようです。

Uniteのフォントアセットの設定を見ました。

設定に違和感を感じる箇所があったので、ご確認いただけないでしょうか?

自分で正解と思われる設定をしても、 一度起きた不具合が解消されることがなかったです。

どこかのタイミングで、Uniteに取り込まれて、 最新の設定が反映されていないのかもしれませんが、 自力での解決はできませんでした。

1)defalt SDF の 設定 defalt SDF の Fallback に mplus-1m-regular SDF が二つ登録されている。 一つでいいのではないかと予想します。

2)menu SDF の 設定 menu SDF の Fallback に SourceHanSansCN-Reguler SDF が登録されていない。 追加するべきじゃないかと予想します。

CNなので中国語対応のものかもしれないので、 関係ないかもしれないと思いつつ、 中国語の文字に日本語の文字を追加して  SourceHanSansCN-Reguler SDF を作成していたら、 おかしな事象になる可能性も考えられると予想しました。

一度、おかしな状態になると、環境を再構築してリカバリするのに 数時間かかってしまうので、 この事象は、結構なストレスになります。

もし、この変更で改善される可能性があるのなら、 修正していただけますと幸いです。

01_HGTQJ_320_QC_7_MMJFAN_8_E6_GNY_1_98a0844d70
01_HGTQJCVSCB_2_MZH_3_DGKKP_91_NF_a33461fbd0

 


Created at

再び文字の表示が無くなった時に

以前教えて頂いたようにTMPの上書きを行いました。

その際に上書きされたフォルダの中を見てみると

フォントフォルダ内の

mplus-1m-regular SDF.assetとSourceHanSansCN-Regular SDF.assetのみが

上書き更新されていました。

TMP破損時には恐らくこの二つのファイルが変更されていたものと思われます。

ですのでアイネロさんがあげてくださったその二つのファイルが関係していることは充分にありうると思います。