【Unity】中央から広がるステルスゲージを作る

投稿者: | 2023-11-13

ステルスゲームで表示される孤型の中央から広がるゲージを作ってみました。

GIMPで画像を作る

まずGIMPで正方形で透明な新規画像を作りました。

後から透明にする場合は、レイヤーを右クリックしてアルファチャンネルを追加し、「すべて選択」か「選択を解除」してDeleteキーを押します。

ガイドを表示

作業しやすいようにガイドを置きます。50%を指定して、垂直と水平に表示します。

さらにガイドを追加します。

カーソルがガイドにスナップするようにします。

パスを作成

パスを選択し、ガイドの交点を左クリックしてアンカーポイントを作成します。

Ctrlキーを押しながらはじめのアンカーポイントをクリックするとパスが閉じます。

Ctrlキーを押しながら、一番上のアンカーポイントをドラッグするとハンドルが出現して曲線ができます。

その下の線も曲線にしてゲージの左半分の形を作ります。

先端が角ばっているのでハンドルを伸ばして丸くします。

パスで塗りつぶす

描画色を白にして、「パスで塗りつぶす」をクリックすると、パスに囲われた部分が塗りつぶされます。

レイヤーを右クリックして複製します。

鏡像反転ツールで左クリックすると反対側ができます。

パスは目のアイコンをオンにすると再表示して編集できます。

先にパスで全体の形を作っても良いかもしれません。Ctrlキーでハンドルを伸ばしたあとに、さらにシフトキーでドラッグすると、反対側にも同じ長さのハンドルが表示されます。

矢印部分を作る

イラストACなどのフリー素材サイトで三角形の画像をダウンロードしてGIMPにドラッグアンドドロップします。

「移動」「拡大・縮小」ツールで位置や大きさをあわせます。

三角形が含まれるレイヤーが選択されているときに、使う部分を矩形選択します。

Ctrl + Cでコピーして、Ctrl + Vですぐに貼り付けます。レイヤー一覧の左下の緑のボタンを押して、新規レイヤーとして追加します。

元の画像は非表示にします。

出力レベルを最大にすると白くなります。

左右に分割してエクスポートする

ガイドに合わせて、三角部分を半分だけ選択します。

Ctrl + X で切り抜き、Ctrl + Vで新しいレイヤーとして貼り付けます。

三角部分も中央で分割されたので、左だけの部分と右だけの部分をそれぞれ表示してpng形式などでエクスポートします。

これで孤ゲージ用の画像ができました。

Unityでゲージを動かす

ステルスゲージを作る #1ステルスゲージを作る #2と同じ方法でゲージを動かします。今回は画像を2つ使って、Fill Originを変えます。

右画像: 0
右画像: 1
左画像: 0
左画像: 1

スクリプトでは、2つの画像を同じ位置と回転にします。

        void SetPosition(float x, float y)
        {
           
            Vector2 pos = images[0].rectTransform.anchoredPosition;
            pos.x = x;
            pos.y = y;
            images[0].rectTransform.anchoredPosition = pos;

            images[1].rectTransform.anchoredPosition = pos;

        }

        void SetRotation()
        {

            var rt = images[0].rectTransform;
            // Imageが表示されている角度(ラジアン)
            float rad = Mathf.Atan2(rt.anchoredPosition.x, rt.anchoredPosition.y);

            Vector3 angle = rt.rotation.eulerAngles;

            // 度数法になおして、Imageの角度のZに入れる
            angle.z = -rad * Mathf.Rad2Deg;

            rt.rotation = Quaternion.Euler(angle);

            images[1].rectTransform.rotation = Quaternion.Euler(angle);
        }

これで中央から広がるゲージが作れました。

コメントを残す

メールアドレスが公開されることはありません。