developer_RYO’s blog

スマホアプリやPCゲーム、音楽やイラストを自由気ままに作っている人の技術ログです

【Unity5.4.1f1】入れ子にしたcanvasの大きさやアンカーがゲーム開始時にずれる現象

Unity5.3から、5.4にアップグレードしてときのバグ挙動についてメモ。

■現象の再現と内容
ヒエラルキー上で親canvasを作る
CanvasScalerのUIScaleModeを「Scale With Screen Size」にして、解像度を2560、1440に設定する。

②親Canvasの中に子Canvasを作る
CanvasのAnchorPresetsをmiddle・centerにする。(このときのwidthは2560、heightは1440)

デバッグ開始▶すると
AnchorPresetsがbottom・leftに自動で変更される。widthが837、heightが471になる。

デバッグ終了後
AnchorPresetsはbottom・leftのままでゲーム開始前に戻らない。
width、heightも同様にゲーム開始前に戻らない。

■解決方法
ゲームオブジェクトにアタッチされているCanvas、CanvasScaler、GraphicRaycasterを
すべて外す。(Remove Component)
外した後付け直す。