Unityで、→キーを押したらアニメーションを変化させるようにしたいのですが、
うまくできません。
Unityの設定は画像のとおり、visual studioでは以下のように書きました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
void Update()
{
float x = Input.GetAxis("Horizontal");
if (x > 0)
{
animator.SetFloat("speed",x);
}
else if(x == 0)
{
animator.SetFloat("speed", x);
}
}
}
=======================
どこを直すべきか教えてください。
もし状況がわからなければ、追加で画像をアップしますので、必要な情報を教えてください。
ゲームを再生しながら左上のSpeedの値を観察し、キー入力時に正しく値が入っているか確認してください。
また、RunAnimationからPlayerAnimationへの遷移条件も確認してみてください。一瞬でPlayer側に戻って来ている可能性があります。
ありがとうございます。
見てみたのですが、値は変化していません。
RunAnimationからPlayerAnimationへの条件も間違ってはいないと思います。
新しい画像を添付しておきます。
すみません。
いくら「更新する」をクリックしても更新されないので言葉で説明します。
RunAnimationからPlayerAnimationへの矢印をクリックして、ConditionsのSpeedがLess 0.01 と設定しています。
Speedの値が変化していないということはこのコードが実行されていない可能性があります。
PlayerMovementが本当にオブジェクトに付与されているか、エラーが出ていないか確認してください。
ありがとうございます。コードを付与したつもりでしたが、どうやら別のコードを付与していた可能性がありました。
もう一度確かめてみたところ、うまくいきました。
回答1件
あなたの回答
tips
プレビュー