はじめに
今回はテクスチャの縦横の比率にUIを合わせる方法についての記事になります!
以前ネット上からテクスチャを取得してみるという記事を書きました。
ただこういった画像をそのままテクスチャに張り付けると、画像の縦横比がおかしなことになってしまうことがよくあります。
せっかくのリムジンも正方形のRawImage
では見栄えがよくありません。
これを左から右へと変換する方法を紹介したいと思います。
やり方
今回はRawImage
というuGUI
を使っていますが、普通のImage
もほぼ同様にすることができます。
using UnityEngine; using UnityEngine.UI; public class TextureTest : MonoBehaviour { [SerializeField] private RawImage _image; void Start() { float rate = (float)_image.texture.width / _image.texture.height; float imageHeight = _image.rectTransform.sizeDelta.y; _image.rectTransform.sizeDelta = new Vector2(imageHeight * rate, imageHeight); } }
このスクリプトで一番注意してほしいことは、rectTranform
のwidth・height
を変更するときだと思います。
ここだけはやや直感的でないような気がするので要チェックです。