AnimationClip を 一つだけ再生する場合でも Animator を作成して
Stateを作り AnimationClip を設定する必要があるのが面倒だったので、PlayableGraph を利用して
AnimationClip のみセットすれば動作するコンポーネントを作成
※ Animation
というコンポーネントがありますが、これは AnimationClip をセットしても
動かなかったので使えないという認識です・・・
using UnityEngine; using UnityEngine.Animations; using UnityEngine.Playables; public class AnimationClipPlayer : MonoBehaviour { [SerializeField] private AnimationClip _animationClip; private PlayableGraph _graph; private void Start() { _graph = PlayableGraph.Create(); _graph.SetTimeUpdateMode(DirectorUpdateMode.GameTime); var playable = AnimationClipPlayable.Create(_graph, _animationClip); var anim = GetComponent<Animator>() ?? gameObject.AddComponent<Animator>(); var output = AnimationPlayableOutput.Create(_graph, "output", anim); output.SetSourcePlayable(playable); Play(); } private void OnDestroy() { if (_graph.IsValid()) _graph.Destroy(); } public void Play() { _graph.Play(); } public void Stop() { _graph.Stop(); } }