Skip to content

UIProgress Component ​

体力や進行度などの値をバーとして表示します。

設定する手順 ​

  1. 範囲と値、塗り方向、即時・補間・遅延表示を設定します。
  2. SceneViewまたはGameViewで結果を確認します。
  3. 編集中のSceneまたはPrefabを保存します。

項目の説明 ​

項目C#名型操作定義時の初期値意味
有効Enabledbool読取・変更trueこのComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
編集中にプレビューPreviewInEditModebool読取・変更falsePlay前のEditorでも状態を確認します。
最小値MinValuefloat読取・変更0.0f表示値の下限です。
最大値MaxValuefloat読取・変更1.0f表示値の上限です。
現在値Valuefloat読取・変更1.0f現在の値です。
DirectionDirectionUIProgressFillDirection読取・変更UIProgressFillDirection::LeftToRight光などが進む方向です。長さより向きを指定します。
補間するSmoothbool読取・変更true値を補間して表示します。
補間時間SmoothDurationfloat読取・変更0.15f値の補間秒数です。
遅延表示するDelayedbool読取・変更false遅れて追従する表示を使います。
遅延テクスチャDelayedTextureTexture?読取・変更{}遅延表示に使うTextureです。
待機時間DelayedWaitfloat読取・変更0.2f遅延表示が動き始めるまでの秒数です。
遅延時間DelayedDurationfloat読取・変更0.35f遅延表示が追いつくまでの秒数です。
非スケール時間UseUnscaledTimebool読取・変更trueTimeScaleの影響を受けない時間で進めます。
DelayedTargetLocalFileIDDelayedTargetLocalFileIDGameObject?読取・変更{}遅延表示先GameObjectの保存用IDです。
SmoothEasingSmoothEasingEasingType読取・変更EasingType::EaseOutSine値補間のEasingです。
DelayedEasingDelayedEasingEasingType読取・変更EasingType::EaseOutSine遅延追従のEasingです。

Inspectorの設定と使い方 ​

「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。

設定・操作編集場所C#の入口意味・使い方
最小・最大・現在値・方向Editor / C#MinValue / MaxValue / Value / Direction / EnabledHPなどの数値を最小〜最大の割合へ変換して、指定方向から満たす表示です。画像のMaterialや描画対象も用意します。
補間・遅延表示Editor / C#Smooth / SmoothDuration / SmoothEasing / Delayed / DelayedTexture / DelayedWait / DelayedDuration / DelayedEasing通常の表示を追い付かせる補間と、ダメージ後に遅れて減る表示を別々に調整します。遅延Textureはその見た目、Waitは動き始めるまでの秒数です。
非スケール時間・編集時PreviewEditor / C#UseUnscaledTime / PreviewInEditModeTimeScaleの影響を受けないUI進行と、Play前のPreviewを指定します。実行中の現在値と保存された初期値を区別します。
表示中の割合・遅延先C#のみDisplayedNormalizedValue / DelayedNormalizedValue / DelayedTargetLocalFileID補間後の表示割合は取得用です。遅延先はGameObject参照として扱い、保存用IDをゲームコードで直接組み立てません。

初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。

C#から使う ​

操作型はUIProgressです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。

実用例:ダメージでHPバーを減らす ​

UIProgressのあるGameObjectへ追加し、ApplyDamage(amount)をゲーム側の被弾処理から呼びます。補間と遅延表示も設定します。

cs
using NEMEngine;

public sealed class HealthBar : MonoBehaviour {

    [SerializeField, Min(1.0f)] private float maxHP = 100.0f;
    private UIProgress? bar;
    private float hp;

    void Start() {
        // HPの範囲と、通常・遅延表示の補間を用意
        bar = GetComponent<UIProgress>();
        hp = maxHP;
        if (bar == null) return;
        bar.MinValue = 0.0f;
        bar.MaxValue = maxHP;
        bar.Smooth = true;
        bar.SmoothDuration = 0.15f;
        bar.Delayed = true;
        bar.DelayedWait = 0.25f;
        bar.DelayedDuration = 0.4f;
        bar.Value = hp;
    }

    public void ApplyDamage(float amount) {
        // 被弾時の値を範囲内に収め、バーへ反映
        hp = Mathf.Clamp(hp - MathF.Max(0.0f, amount), 0.0f, maxHP);
        if (bar != null) bar.Value = hp;
    }
}

選択値(Enum) ​

型・各値の詳説使える値
EasingType27件。型のページで全候補を確認できます。
UIProgressFillDirectionBottomToTop / LeftToRight / RightToLeft / TopToBottom

UIProgress ​

宣言・詳説種類・操作役割
public bool Delayedプロパティ(読取・変更)遅れて追従する表示を使います。
public float DelayedDurationプロパティ(読取・変更)遅延表示が追いつくまでの秒数です。
public EasingType DelayedEasingプロパティ(読取・変更)遅延追従のEasingです。
public float DelayedNormalizedValueプロパティ(読取専用)遅延表示側の現在値
public GameObject? DelayedTargetLocalFileIDプロパティ(読取・変更)遅延表示先GameObjectの保存用IDです。
public Texture? DelayedTextureプロパティ(読取・変更)遅延表示に使うTextureです。
public float DelayedWaitプロパティ(読取・変更)遅延表示が動き始めるまでの秒数です。
public UIProgressFillDirection Directionプロパティ(読取・変更)光などが進む方向です。長さより向きを指定します。
public float DisplayedNormalizedValueプロパティ(読取専用)補間後の現在表示値
public bool Enabledプロパティ(読取・変更)このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
public static UIProgress FromEntity(GameObject gameObject)関数既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。
public float MaxValueプロパティ(読取・変更)表示値の上限です。
public float MinValueプロパティ(読取・変更)表示値の下限です。
public bool PreviewInEditModeプロパティ(読取・変更)Play前のEditorでも状態を確認します。
public bool Smoothプロパティ(読取・変更)値を補間して表示します。
public float SmoothDurationプロパティ(読取・変更)値の補間秒数です。
public EasingType SmoothEasingプロパティ(読取・変更)値補間のEasingです。
public bool UseUnscaledTimeプロパティ(読取・変更)TimeScaleの影響を受けない時間で進めます。
public float Valueプロパティ(読取・変更)現在の値です。
public static int componentTypeIDプロパティ(読取専用)組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。

継承する共通操作:Component ​

宣言・詳説種類・操作役割
public T AddComponent<T>() where T : Component関数ComponentまたはScriptを追加し、操作する参照を返します。
public T? GetComponent<T>() where T : class関数component access(owner GameObjectへの委譲)
public T? GetComponentInChildren<T>(bool includeInactive = false) where T : class関数子階層から指定型のComponentを探します。
public T? GetComponentInParent<T>(bool includeInactive = false) where T : class関数親階層から指定型のComponentを探します。
public T[] GetComponents<T>() where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public void GetComponents<T>(List<T> results) where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public T[] GetComponentsInChildren<T>(bool includeInactive = false) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(bool includeInactive, List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public T[] GetComponentsInParent<T>(bool includeInactive = false) where T : class関数親階層にある指定型のComponentを収集します。
public void GetComponentsInParent<T>(bool includeInactive, List<T> results) where T : class関数親階層にある指定型のComponentを収集します。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public bool HasComponent<T>() where T : class関数指定型のComponentを持つかを調べます。
public void RemoveComponent<T>() where T : Component関数指定型のComponentを取り除きます。
public bool TryGetComponent<T>(out T component) where T : class関数Componentを検索し、見つかったかをbool、結果をout引数で返します。
public GameObject gameObjectプロパティ(読取専用)このComponentを所有するGameObjectです。
public Transform transformプロパティ(読取専用)所有GameObjectのTransformです。

継承する共通操作:Object ​

宣言・詳説種類・操作役割
public static void Destroy(Object? target)関数参照先の個体だけを安全地点で破棄する
public override bool Equals(object? obj)関数2つの値が等しいかを調べます。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public static GameObject Instantiate(Prefab original)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static bool operator ==(Object? lhs, Object? rhs)関数等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static implicit operator bool(Object? value)関数暗黙の型変換を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static bool operator !=(Object? lhs, Object? rhs)関数不等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。

使用時の注意 ​

遅延先のGameObject参照が正しいか確認します。値の範囲と画像UVを合わせます。

Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。

関連項目 ​

現行版マニュアル · 8ea58ba2 · 2026-10-28確認