「Unity/3d/アニメーション」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→人型アセットのDL) |
(→キーボード入力でアニメーションを追加) |
||
行48: | 行48: | ||
</pre> | </pre> | ||
スペースを押した時に攻撃モーションが表示される。 | スペースを押した時に攻撃モーションが表示される。 | ||
+ | |||
+ | ===他キーボード=== | ||
+ | if (Input.GetKey(KeyCode.UpArrow)) { | ||
+ | } else if (Input.GetKey(KeyCode.UpArrow)) { | ||
+ | } else if (Input.GetKey(KeyCode.LeftArrow)) { | ||
+ | } else if (Input.GetKey(KeyCode.RightArrow)) { | ||
==動作を全体座標に適用== | ==動作を全体座標に適用== |
2020年6月8日 (月) 13:30時点における版
人型アセットのDL
- AssetStoreからZonbie ( https://assetstore.unity.com/packages/3d/characters/humanoids/zombie-30232?locale=ja-JP ) をダウンロード
- それをimport
- PrefubからZonbie1をヒエラルキーにドラッグ
- Assetsの下にAnimetionsのdirを作成しCreate/AnimatorControllerを作成
- 例として、ZonbieAnimatorControllerとして作成
- Zonbie1のanimetorにPrefubのAnimattionsのZonbie~を全てZonbieAnimatorController上へドラッグして入れる
- defaultをZ_Idolを設定
- parameterにfloatのSpeedを設定する
- Z_IdolでMakeTransitionからZ_WalkへSpeed>0.1で設定する
- 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/
キーボード入力でアニメーションを追加
- 上で作った、ZonbieAnimatorControllerにZ_Attackを追加
- parameterにtriggerのAttackを設定する
- Z_IdolでMakeTransitionからZ_AttackへプロパティAttackを設定する
- 以下をcsへ追加
void Update() { if (Input.GetKey(KeyCode.Space)) { animator.SetTrigger("Attack"); } }
スペースを押した時に攻撃モーションが表示される。
他キーボード
if (Input.GetKey(KeyCode.UpArrow)) { } else if (Input.GetKey(KeyCode.UpArrow)) { } else if (Input.GetKey(KeyCode.LeftArrow)) { } else if (Input.GetKey(KeyCode.RightArrow)) {
動作を全体座標に適用
Apply Root Motionにチェックを入れる
途中で遷移
Transition/InspectorのHas Exit Timeを外す