[Unity]画面サイズに合わせてリアルタイムでCameraを調節するスクリプト
モデルは次回実装予定のシスターさん
いつも応援いただきありがとうございます。
可変ウィンドウにリアルタイムでゲーム画面をリサイズする需要がありそうなので、自前のスクリプトを公開します。利用、改変等ご自由にどうぞ
CameraRectAdjuster.cs (1.28kB)
ダウンロードサイズ計算は以下の記事を参考にさせていただいています。
・Unity:カメラのViewportRectを調節して解像度対応する
https://kasatanet.hatenablog.com/entry/2017/02/19/194839
このスクリプトはカメラのrectを変更していますが、上記記事にてfieldOfViewを変える方法も示されていますので、3Dなどの場合はそちらを参考にAdjustメソッドを修正すると良いと思います。
使用方法
適当なGameObjectにAddComponentしてアス比とカメラを設定するだけです。
結果
カメラにあわせてオブジェクトをスケーリングする。
これだけですと表示がカメラのViewportで見切れてしまうので、カメラに合わせてオブジェクトをスケーリングする必要があります。オブジェクトによってスケーリング方法は変わると思います。
Canvasの場合の一例を出します。
・CanvasとCanvasScalerを画像のように設定する。
CanvasScalerのReferenceResolutionは想定している画面解像度を設定
結果
余談
そもそもCanvasScalerの上記設定だけでスクリーンサイズに合わせてCanvasをスケーリングするのでCanvasだけならスクリプトは不要かもしれませんが、画面外にオブジェクトがあって映ると困る場合に役立ちます。
今後もたまには実装に関する記事を上げたいと思います。