facebook twitter hatena line email

「Unity/3d/アニメーション」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(途中の遷移)
(人型アセットのDL)
行31: 行31:
  
 
参考:https://unity.moon-bear.com/zombie-slayer/enemy-animation/
 
参考:https://unity.moon-bear.com/zombie-slayer/enemy-animation/
 +
 +
==キーボード入力でアニメーションを追加==
 +
#上で作った、ZonbieAnimatorControllerにZ_Attackを追加
 +
#parameterにtriggerのAttackを設定する
 +
#Z_IdolでMakeTransitionからZ_AttackへプロパティAttackを設定する
 +
#以下をcsへ追加
 +
 +
<pre>
 +
    void Update()
 +
    {
 +
        if (Input.GetKey(KeyCode.Space))
 +
        {
 +
            animator.SetTrigger("Attack");
 +
        }
 +
    }
 +
</pre>
 +
スペースを押した時に攻撃モーションが表示される。
  
 
==動作を全体座標に適用==
 
==動作を全体座標に適用==

2020年6月8日 (月) 11:16時点における版

人型アセットのDL

  1. AssetStoreからZonbie ( https://assetstore.unity.com/packages/3d/characters/humanoids/zombie-30232?locale=ja-JP ) をダウンロード
  2. それをimport
  3. PrefubからZonbie1をヒエラルキーにドラッグ
  4. Assetsの下にAnimetionsのdirを作成しCreate/AnimatorControllerを作成
  5. 例として、ZonbieAnimatorControllerとして作成
  6. Zonbie1のanimetorにPrefubのAnimattionsのZonbie~を全てZonbieAnimatorController上へドラッグして入れる
  7. defaultをZ_Idolを設定
  8. parameterにfloatのSpeedを設定する
  9. Z_IdolでMakeTransitionからZ_WalkへSpeed>0.1で設定する
  10. zonbieオブジェクトに以下csをアタッチする

ZonbieController.cs

using UnityEngine.AI;
[RequireComponent(typeof(Animator))]
public class EnemyController : MonoBehaviour
{
    Animator animator;
    void Start()
    {
        animator = GetComponent<Animator>();
    }
    void Update()
    {
        animator.SetFloat("Speed", 0.2f, 0.1f, Time.deltaTime);
    }
}


参考:https://unity.moon-bear.com/zombie-slayer/enemy-animation/

キーボード入力でアニメーションを追加

  1. 上で作った、ZonbieAnimatorControllerにZ_Attackを追加
  2. parameterにtriggerのAttackを設定する
  3. Z_IdolでMakeTransitionからZ_AttackへプロパティAttackを設定する
  4. 以下をcsへ追加
    void Update()
    {
        if (Input.GetKey(KeyCode.Space))
        {
            animator.SetTrigger("Attack");
        }
    }

スペースを押した時に攻撃モーションが表示される。

動作を全体座標に適用

Apply Root Motionにチェックを入れる

途中で遷移

Transition/InspectorのHas Exit Timeを外す