【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)
外した後付け直す。