超次元覚醒研究所 2020/08/04 11:22

[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だけならスクリプトは不要かもしれませんが、画面外にオブジェクトがあって映ると困る場合に役立ちます。


今後もたまには実装に関する記事を上げたいと思います。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

記事のタグから探す

月別アーカイブ

記事を検索