表示テーマ
SkinnedAnimation Component
モデルに含まれる骨格Animationを再生します。
設定する手順
- スキン付きMeshRendererに追加し、Clip名と速度・ループを設定します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| クリップ | Clip | string | 読取・変更 | "Default" | 再生するAssetまたはClip名です。Asset欄では対応する種類を指定します。 |
| 有効 | Enabled | bool | 読取・変更 | true | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
| ループ | Loop | bool | 読取・変更 | true | 末尾に到達したら先頭へ戻って再生します。 |
| 再生速度 | PlaybackSpeed | float | 読取・変更 | 1.0f | 再生時間に掛ける倍率です。 |
| 遷移時間 | TransitionDuration | float | 読取・変更 | 0.15f | 再生切替の補間秒数です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| クリップ・有効・ループ・速度・遷移時間 | Editor / C# | Clip / Enabled / Loop / PlaybackSpeed / TransitionDuration | スキン付きモデル内のAnimationを再生します。選択肢は読み込んだモデルのClipで、Animation Clip Assetを設定するAnimationPlayerとは別です。 |
| 編集中に再生・骨表示 | Editorのみ | — | Play前のAnimation確認と骨の可視化です。現在のSkinnedAnimationの公開C# APIに、この2つを直接変更するプロパティはありません。 |
| 再生・停止・状態 | C#のみ | Play / Stop / CurrentState / CurrentTime / IsPlaying / Finished / InTransition / RepeatCount / GetDuration | Clip名で再生し、遷移中か・再生時間・完了を確認できます。モデル内にないClip名を指定しても目的の動きは出ないため、Inspectorの候補を先に確認します。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はSkinnedAnimationです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
SkinnedAnimation
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public string Clip | プロパティ(読取・変更) | 再生するAssetまたはClip名です。Asset欄では対応する種類を指定します。 |
public string CurrentState | プロパティ(読取専用) | 現在の再生クリップ |
public float CurrentTime | プロパティ(読取専用) | 現在の再生時間 |
public bool Enabled | プロパティ(読取・変更) | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
public bool Finished | プロパティ(読取専用) | 非ループ再生が終端へ到達したか |
public static SkinnedAnimation FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public float GetDuration(string clipName) | 関数 | 指定クリップの再生時間を返す |
public bool InTransition | プロパティ(読取専用) | クリップをブレンド中か |
public bool IsPlaying | プロパティ(読取専用) | 有効かつ自然終了していないか |
public bool Loop | プロパティ(読取・変更) | 末尾に到達したら先頭へ戻って再生します。 |
public void Play(string stateName) | 関数 | 指定クリップへ遷移再生する |
public float PlaybackSpeed | プロパティ(読取・変更) | 再生時間に掛ける倍率です。 |
public int RepeatCount | プロパティ(読取専用) | ループした回数 |
public void Stop() | 関数 | クリップ状態を保持したまま時間更新を止める |
public float TransitionDuration | プロパティ(読取・変更) | 再生切替の補間秒数です。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
AnimationPlayerのプロパティAnimationとは別です。モデルに対象Clipと骨格が必要です。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。