アイテムリストの中の要素だけがGameビューをFreeAspectでプレイした際にリストに合わせてリサイズされない | Unity Forum | Tech Stadium Forum

アイテムリストの中の要素だけがGame...
 
通知
すべてクリア

アイテムリストの中の要素だけがGameビューをFreeAspectでプレイした際にリストに合わせてリサイズされない  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
06/05/2022 9:24 am  

アイテムリストの中の要素(ボタン)だけが Gameビューを FreeAspect でプレイした際にリストに合わせてリサイズされません
(その他の要素は想定通りにリサイズされている)


引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
06/05/2022 9:25 am  

① Content オブジェクト -> Content Size Filter -> Horizontal Fit を Preferred Size に変更
② リストの子要素のボタン ( ButtonItem )  -> Layout Element を無効
③ リストの子要素のボタン ( ButtonItem )  -> ItemContent の Start() に下記の処理を追加
GetComponent().localScale = new Vector3(1.0f, 1.0f, 1.0f);

①②の設定で Content のサイズが適切になり、
③の設定でボタンに意図しないリサイズがかかることを暫定的に直せました。

しかし、なぜ、解像度やアスペクト比によってボタンがリサイズされて
 RectTransform の Scale が調整されてしまうのか、理解できていません。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
06/05/2022 9:26 am  
調査途中報告:
・リストの子要素の Prefab を Hierarchy に直接D&Dして生成すると、
 子要素の Scale 値は1のままでリサイズされず想定通りの挙動になる。
・Anchorをいずれのプリセットに変更したり手動で値を変更しても、
(必要に応じて RectTransform の他の値も変更することを試しても)
  Game ビューで再生すると必ず不適切なリサイズがかかってしまう。
※子要素のインスタンスを生成しているコードは、サンプルプロジェクトと同じで以下の通り
GameObject itemObject = Instantiate(_itemPrefab, Vector3.zero, Quaternion.identity);
itemObject.transform.SetParent(_leftContent.transform); 
Debug.Log(itemObject.GetComponent<RectTransform>().localScale); // FIXME: 不適切なリサイズ

返信引用
共有:
タイトルとURLをコピーしました