もふもふ保管庫

Unityや3DCG等の創作についてまとめていくかも。不定期更新です。

【Unity】Anchor Presetsの設定が勝手に変わる?

UnityのuGUI機能を利用してスクロールビューを作っていたのですが、
その中のViewportオブジェクトのAnchor設定がシーン遷移時に勝手に切り替わるという現象が発生しました。
f:id:FLA_fluffy:20200327224351p:plain
↑こうなっていて欲しいのが…

f:id:FLA_fluffy:20200327224349p:plain
再びこのオブジェクトのあるシーンに遷移した時こうなってしまっています。

これでは表示が崩れてしまうので、原因を探りたいのですが分かりませんでした…!
とりあえず対症療法としてスクリプトで強引に元に戻します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FixGUIAnchor : MonoBehaviour
{
	void Start () {
		RectTransform rect = GetComponent<RectTransform> ();
		rect.anchorMax = new Vector2 (0.0f, 0.0f);
		rect.anchorMax = new Vector2 (1.0f, 1.0f);
	}
}

こんな感じのクラスを作成して該当GUIオブジェクトにアタッチすればOKです。(大丈夫かな…?)