自分の場合はAnimatorで基本動作を定義してやってから、キャラクター制御クラスから突発的な動作をAnimator.CrossFadeInFixedTime()で動かしています
例えば空振りの場合はそのままアイドルに戻ると思いますが、ブレンドツリー側でスイング→アイドルと定義しておけばCrossFadeInFixedTime("スイング",0f)でバットを振るタイミングはスクリプト側から、戻るタイミングはブレンドツリー側で制御できます
アイドル側からのトランジションを作らないですむのでAnimator画面が結構すっきりします
こうしておけばコライダーにボールが当たったときに、OnColliderHitからアニメーション変更が仕込めるので楽だと思います。モーション同士のブレンドはCrossFadeInFixedTime側で勝手にやってくれます
バットの位置はIKでするのが一番現実的だと思います。どうにも思ったとおりにいかないことが多々あって嫌になりますが・・・
基本stringでモーション管理することになるのでこちら公開されている定数で管理するエディタ拡張を入れておくと楽です
http://baba-s.hatenablog.com/entry/2015/05/06/120810
StateMachineBehaviourを継承したクラスをAnimatorにアタッチしておくとスクリプト側での管理がかなり楽になります。フラグ管理も一々GetBoolとかしないでよくなるので楽です。こちらが詳しいです
https://qiita.com/toRisouP/items/b6540b7f514d18b9a426
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/01 14:17