[Unity] アニメーションのブレンド
アニメーションを同じステート内でブレンドしながら変更する方法です。
複数のアニメーション間を0-1の数値で表現できるのでいろいろと便利です。
まずは新しいステートを作ります。ここではRun_endとしました。
作成したステートを右クリック->Create BlendTree in State を選択します
するとMotionのところがBlend Tree になるので、これをダブルクリック
+ボタン-Add Motion Field を押してモーションを追加します
モーションを追加すると自動的にブレンドパラメーターを設定してくれます。
アニメーションのブレンドは"Blend"というパラメータを変更することで行います。
animator.SetFloat("Blend", [0f-1f]);
アニメーションのあるオブジェクトに下記を張り付けて
moveSpeedスライダーバーを動かすとモーションが滑らかにブレンドします。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimationBrendTreeTest : MonoBehaviour
{
[SerializeField,Range(0,1)] float m_moveSpeed=0f;
Animator m_animator;
// Start is called before the first frame update
void Start()
{
m_animator = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
m_animator.SetFloat("Blend", m_moveSpeed);
}
}
Author And Source
この問題について([Unity] アニメーションのブレンド), 我々は、より多くの情報をここで見つけました https://qiita.com/ELIXIR/items/9bb5c5ae3ea52be4c0b7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .