0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unityで解像度を変更した後、UIをInstantiateした際にサイズが変化する

Posted at

##問題
UnityのGameシーンでは、解像度を自由に変更することが可能です。元々1920×1080で運用していたゲームを、複数解像度における調整のため3840×2160にしたところ、UIのサイズが半分になってインスタンス化されてしまいました。

##原因
Canvas Scalerにおいて、UI Scale ModeをScale With Screen SizeReference ResolitionをX1920, Y1080にしていた。そのため、解像度を縦横2倍にした際に、キャンバス自体の大きさ(RectTransform.Scale)も2倍になっていたため。

##対処法
Instantiateした後、SetParentする際の第二引数にfalseを渡す。
デフォルトではtrueが渡されており、ワールド座標における位置サイズに変更されてしまう。falseを渡すと、ローカル座標での位置サイズにしてくれる。

Transform.SetParent

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?