# [Unity3D] キャラクターの移動とアニメーション切り替え（Animator）

> ステートマシン（Animator）でキャラクターのアニメーション再生を制御し、矢印キーでアニメーションを切り替えます。コードでキャラクターの移動を制御します。パラメータ Angular Speed で旋回速度を制御します。

- 公開日: 2018-05-26
- タグ: 3D, ゲームプレイ, Unity, Unity3D, Unityメモ
- HTML版を見る: https://bilibili.cat/ja/posts/unity-animator-start
- 中文からAI翻訳: https://bilibili.cat/posts/unity-animator-start

---

## ステートマシン（Animator）

キャラクターのアニメーション再生を制御し、矢印キーでアニメーションを切り替えます

## コードでキャラクターの移動を制御

```csharp
public NavMeshAgent agent;
public Animator anima;
  
void Update () {
        if (Input.GetMouseButtonDown(0)){   // 按下鼠标左键，1是右键
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);// 获取屏幕坐标，转换射线
            RaycastHit hit; //保存射线碰撞信息
            if (Input.GetMouseButtonDown(0)){   // 按下鼠标左键，1是右键
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);// 获取屏幕坐标，转换射线
            RaycastHit hit; //保存射线碰撞信息
            if(Physics.Raycast(ray, out hit))// 判断碰撞
            {
                // Console.WriteLine(hit.point);
                agent.SetDestination(hit.point);// 传达指令，控制运动
            }
        anima.SetFloat("speed", agent.velocity.magnitude);// 设置Animator中speed的值
        }
```

## パラメータ Angular Speed で旋回速度を制御
