
赤かぶくん
子要素のオブジェクトの大きさを変更したいけど、うまくできないよ。
どうしたらできるの?

まつぼん
そんなお悩みにお答えします!
Unityでゲーム開発をしていて、子要素のオブジェクトの大きさをスクリプトで変更したいときがあります。
でも、うまくできませんでした。
調べたところ、rectTransform.sizeDeltaを使うと、RectTransformのWidthとHeightを変更できました。
本記事では、UnityでRectTransformのWidthとHeightをスクリプトで変更する方法についてご紹介します。
環境
Unity バージョン:2020.3.46f1
内容 RectTransformのWidthとHeightをスクリプトで変更する

子要素のオブジェクトの大きさを変更します。
上図の赤枠部分、RectTransformのWidthとHeightをスクリプトで変更したいと思います。
方法 RectTransformのWidthとHeightをスクリプトで変更する
rectTransform.sizeDeltaを使います。
開始時にwidthを100、heightを200に変更するスクリプトは下記のとおりです。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Hoge : MonoBehaviour
{
public float width = 100;
public float height = 200;
RectTransform rectTransform;
// Start is called before the first frame update
void Start()
{
rectTransform = gameObject.GetComponent<RectTransform>();
rectTransform.sizeDelta = new Vector2(width, height);
}
}
このスクリプトを目的のオブジェクトにアタッチします。
実行すると、きちんとwidthが100、heightが200に変更できました。
【Unity】RectTransformのWidthとHeightをスクリプトで変更する方法 まとめ

本記事では、UnityでRectTransformのWidthとHeightをスクリプトで変更する方法についてご紹介しました。
rectTransform.sizeDeltaを使うと、RectTransformのWidthとHeightを変更できます。
ゲーム作りで困ったときに参考にしてみてくださいね。
本記事が、皆さんの参考になれば幸いです。