LoginSignup
3
3

More than 5 years have passed since last update.

[Unity]宴で自作UIを表示させようとしたらエラーが出たとき

Posted at

GUI操作系コマンド
http://madnesslabo.net/utage/?page_id=3406
上記のページを参考に、自作UIを表示させようとしたのですが、「はじめから」ボタンを押した直後に以下のエラーが出て画面が暗転し、ゲーム進行不可になってしまいました。

NullReferenceException: Object reference not set to an instance of an object
Utage.BinaryUtil.WriteLocalTransform (UnityEngine.Transform transform, System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/GameLib/Util/BinaryUtil.cs:188)
Utage.BinaryUtil.WriteRectTransfom (UnityEngine.RectTransform rectTransform, System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/GameLib/Util/BinaryUtil.cs:290)
Utage.AdvGuiBase.WriteChanged (System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:73)
Utage.AdvGuiBase.Write (System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:66)
Utage.BinaryUtil.BinaryWrite (System.Action`1 Write) (at Assets/Utage/Scripts/GameLib/Util/BinaryUtil.cs:65)
Utage.AdvGuiBase.ToBuffer () (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:49)
Utage.AdvGuiBase..ctor (UnityEngine.GameObject target) (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:42)
Utage.AdvGuiManager.Awake () (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiManager.cs:34)
UnityEngine.GameObject:SetActive(Boolean)
Utage.AdvUguiManager:Open() (at Assets/Utage/Scripts/ADV/UI/AdvUguiManager.cs:37)
Utage.<CoStartScenario>c__Iterator8:MoveNext() (at Assets/Utage/Scripts/ADV/AdvEngine.cs:714)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Utage.AdvEngine:StartScenario(String, Int32) (at Assets/Utage/Scripts/ADV/AdvEngine.cs:704)
Utage.<CoStartGameSub>c__Iterator7:MoveNext() (at Assets/Utage/Scripts/ADV/AdvEngine.cs:639)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Utage.AdvEngine:StartGameSub(String) (at Assets/Utage/Scripts/ADV/AdvEngine.cs:629)
Utage.AdvEngine:StartGame(String) (at Assets/Utage/Scripts/ADV/AdvEngine.cs:624)
Utage.AdvEngine:StartGame() (at Assets/Utage/Scripts/ADV/AdvEngine.cs:615)
<CoWaitOpen>c__Iterator3A:MoveNext() (at Assets/Utage/Scripts/TemplateUI/UtageUguiMainGame.cs:165)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
UtageUguiMainGame:OnOpen() (at Assets/Utage/Scripts/TemplateUI/UtageUguiMainGame.cs:150)
UnityEngine.GameObject:SendMessage(String, SendMessageOptions)
Utage.UguiView:Open(UguiView) (at Assets/Utage/Scripts/GameLib/UI/View/UguiView.cs:91)
Utage.UguiView:Open() (at Assets/Utage/Scripts/GameLib/UI/View/UguiView.cs:74)
UtageUguiMainGame:OpenStartGame() (at Assets/Utage/Scripts/TemplateUI/UtageUguiMainGame.cs:102)
UtageUguiTitle:OnTapStart() (at Assets/Utage/Scripts/TemplateUI/UtageUguiTitle.cs:54)
UnityEngine.EventSystems.EventSystem:Update()

自作UIは、空のゲームオブジェクトをフォルダ代わりにして使っていたのですが、その親フォルダのコンポーネントがTransformでした。

TransformをRect Transformにすると、エラーが解消されました。

手順は以下の通りです。

1.Add Componetをクリックして、Rect Transformを検索
2.Rect Transformをクリックすると、TransformがRect Transformに変更される
3.自分のゲームに合わせてRect Transformコンポーネント内の数値を調整する

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3