いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU

Unity : アニメーションのポリモーフィズム - AnimatorOverrideController

たとえばオッサンキャラとJKキャラには同じ「歩く」というアニメーションが必要ですが、実際に適用するアニメーションクリップは異なるでしょう。

*下は同じアニメーションを適用したオッサンとJK(?)の例

f:id:sugar_affordance:20170502180616g:plain

そんなとき AnimatorController を共通化しつつ、クリップを分ける機能がAnimatorOverrideControlerです。

Unity - マニュアル: Animator Override Controller

元となる AnimatorController を作る

とりあえず下のような二つのステートを持つ AnimatorController を作っておきます。

f:id:sugar_affordance:20170502181308j:plain

JK用にAnimatorOverrideControlelr を作る

プロジェクトウインドウで右クリックし、Create > Animator Override Controller と選択します。

f:id:sugar_affordance:20170502181507j:plain

作成したらインスペクタで

f:id:sugar_affordance:20170502181901j:plain

Controller の欄に元となるAnimatorController を設定します。

すると、元のほうに設定済みのAnimationClipのリストが現れるので、上書きしたいものにアニメーションクリップを設定します。

f:id:sugar_affordance:20170502182027j:plain

ここではWalkのほうにJK用のアニメーションを設定しました。

Animatorに設定する

あとはキャラのAnimatorに、作成したAnimatorOverrideControllerを設定するだけです。

f:id:sugar_affordance:20170502182402j:plain

実行してみた結果

f:id:sugar_affordance:20170502182520g:plain

JK(若干 腐ってる人)の動きがかなり、なまめかしいものになっていることがわかるでしょう。

え?見えない? 目が腐ってるんじゃないですか?

キャラが多数出るゲームにはかなり有効です。

Unity2D : 単体スプライトアニメーション用スクリプトの決定版を作ってみた [C#, UniRx]

概要

  • Unityの機能を使ったスプライトアニメーションでは、単純なものを作る場合でも余計なファイルができてしまう
  • 単体でアニメーション可能なスクリプトを組んだ
  • UniRx使用なので記述がシンプルに & Coroutine使わないので エディタ上で実行して確認可能

f:id:sugar_affordance:20170425121612g:plain

続きを読む

Unity :3Dプロジェクトから2Dプロジェクトに設定を変更する

ヤッベエうっかり3Dプロジェクトで開発始めちゃったー、やっぱ2Dでやりたいわー、設定戻さねえとー。3Dのまま半分くらい開発進めちゃったー。

ってこと、あるよね?

そんなとき、2Dと3Dの違いをしっかり把握しておけば、あわてずにいることができます。

続きを読む

UniRx付属のObjectPoolが割とガチで使える件

UniRxの中に知る人ぞ知る(?) UniRx.Toolkit というネームスペースがあり、この中に ObjectPool というクラスが定義されています。

これは 使用済みのGameObjectをDestroyせずに保存(プール)しておき、後で使い回す ことでパフォーマンスに優しいプログラムにできるというすばらしいクラスです。

続きを読む

MonoBehaviour のメソッドをオーバーライドする [Unity , C#]

C#でプログラムを組む上で避けて通れないのが 継承 ですが、Unity特有のMonoBehaviourクラスの派生クラスを さらに継承 してクラスを作成することができます。
Start関数やUpdate関数をオーバーライド することで、基本処理を共通化することが可能です。

続きを読む

Amazon.co.jpアソシエイト