LoginSignup
4
3

More than 1 year has passed since last update.

uGUIを使わない円形ゲージの作り方

Posted at

初めに

Unityで円形ゲージを作成する方法を調べると、uGUI ImageのImage Type をFilledにしてFill Method を Radial 360 へ設定し、Fill Amountの値を変更する方法が最も多く出てきます。
この方法だと簡単に円形ゲージを作成できますが、2Dであるオブジェクトに追従したい場合に少々めんどくさいです。SpriteRendererの画像を変化させることで円形ゲージを作成する方法を紹介します。

手順

ゲージに使う画像を用意します。今回はいらすとやから円形の画像を引っ張ってきました。
pop_kinitsu_100.png
用意した画像をSpriteとしてUnityでインポートして、追従したいオブジェクトの子にします。
HPGuagePost - SampleScene - PC, Mac & Linux Standalone - Unity 2020.3.7f1 Personal _DX11_ 2021_07_01 11_19_03 (2).png
以下のShaderGraphを作成します。
HPGuagePost - SampleScene - PC, Mac & Linux Standalone - Unity 2020.3.7f1 Personal _DX11_ 2021_07_01 10_58_42.png
PolarCoordinatesノードのG成分に0.5を足すことで、中心の角度によって0~1にグラデーションさせています。これにStepノードを使うことによってある角度以上の領域が切り取られるような形になります。Ratioプロパティの値を0~1の範囲で変化させることで切り取る領域を変化できるようにしました。
ShaderGraphからマテリアルを作成して、ゲージ用のオブジェクトにあてます。
HPGuagePost - SampleScene - PC, Mac & Linux Standalone - Unity 2020.3.7f1 Personal _DX11_ 2021_07_01 11_34_37 (2).png
マテリアルのRatioの値を変化させると表示される領域が変化します。
gif_animation_001.gif

おわりに

2Dでゲージをオブジェクトに追従させたいときにはキャンバス上のImageを操作するよりも単純だと思います。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3