使用したUnityのバージョン:2020.3.30f1
この記事では、プレイヤーを動かしたら歩くアニメーションが再生させるなどの、キーが押されている間アニメーションを再生する方法を書いています。
①Animatorウィンドウを下の画像のように設定します。(EmptyStateには何もアニメーションが設定されてないステートを置き、AnimationStateには、再生させたいアニメーションクリップが設定されたステートを置いてください。この時アニメーションクリップのLoop Timeにチェックに入れてください。)
②右上の「+」から「bool」を選択してください。(このページでは名前をrepに変えています。)
③EmptyStateから伸びているTransitionを選択し、Conditionsの「+」をクリックし遷移条件をtrueに設定します。
Has Exit Timeのチェックは外してください。
④AnimationStateから伸びているTransitionを選択し、Conditionsの「+」をクリックし遷移条件をfalseに設定します。
今度はHas Exit Timeのチェックを入れてください。
Animatorコンポーネントをつけているゲームオブジェクトに下のコードのスクリプトをアタッチします。
Animator anima;
void Start()
{
anima = GetComponent<Animator>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) {
anima.SetBool("rep", true);
}else if (Input.GetKeyUp(KeyCode.Space)) {
anima.SetBool("rep", false);
}
}
ゲームを再生して、スペースキーを押すとアニメーションが再生されていれば成功です。