LoginSignup
4
4

More than 5 years have passed since last update.

Barを移動するときのAnimationを作成してUnityChanに適用する

Posted at

前回 からの続きです。

今回は、Bar(横に伸びてる棒)を掴んで移動している時のAnimationを作ってみることにします。

Animatorの設定

アニメーションの種類として、「何もしていない」「走っている」「はしご」「バー」「落下」があるとします。
※実際は「動いているか・動いていないか」というのがありそうですが、今は考えないでおきます。

というわけで、以下の様なStateとフラグを作っておきます。

demo1_unity_-_RoadRunner_-_Web_Player.png

それぞれのTransitionは、フラグの条件の組み合わせで定義するとします。
まだいろいろ調整中なのでどう定義するかは割愛しますが、およそ予想がつくのではないでしょうか。

Animationの作成

作成と編集までの準備

Project -> Assets の部分を右クリックして、Create -> Animation を選びます。
名前を BarAnimation とでもしておきます。

次にUnityChanにAttachされている Animatorの OnBar Stateの Motion の部分に今作成した BarAnimation をD&Dなどで登録します。

demo1_unity_-_RoadRunner_-_Web_Player.png

次に、メニューから Window -> Animation を選択して、 Animation編集Windowを表示します。
そこで、図の部分から「BarAnimation」を選択しておきます。こうすると編集できるようになります。

demo1_unity_-_RoadRunner_-_Web_Player.png

Sceneタブを選択して、UnityChanを選んでみます。
そこで更に、Animation Windowに戻って、再生ボタンを押すと何か妙なポーズになります。

demo1_unity_-_RoadRunner_-_Web_Player.png

これが、BarAnimation による現状の動作になります。
あとは、これが思うような動作になるように Animation編集Windowで作業をしていきます。

どうやってAnimationさせるか

BlockのAnimationを作った時 と同様に必要なパーツの角度や位置を時間軸に沿って定義していくわけです。

問題はどの値を操作すると良いか、ということです。
適当に試してみていると、Add CurveのメニューにAnimatorというのがあります。

UnityEditorInternal_AddCurvesPopup.png

どうやら、これの値を操作するとよしなにその部位が動いてくれるようです。
また、対象とした部位だけでなく、他の部位もある程度連動して動くようなので、比較的自然な動作が作れるのかもしれません(私には無理ですが…)。
例えば、「肩を上げる→体が傾く」というような感じに見えました。

(余談)より低レベルなAnimationのさせ方?

この他にも、もっと低レベル?な値を操作してAnimationさせることもできます。
以下の部位のRotationをいじると、もっと自由度の高い(だが面倒くさい)Animationが可能になるのではないでしょうか。

肩〜手

下図のように、左側ならば

  • LeftShoulder: 肩の根本
  • LeftArm: これも肩の辺り
  • LeftForeArm: 肘
  • LeftHand: 手首

という構成になっています。

demo1_unity_-_RoadRunner_-_Web_Player.png

腿〜足首

下図のように、左側ならば

  • LeftUpLeg: 腿
  • LeftLeg: 膝
  • LeftFoot: 足首

という構成になっています。

demo1_unity_-_RoadRunner_-_Web_Player.png

Animationの作成

はっきりいって行き当たりばったりで作っていますので、どうやると良いかなどは上手く説明できません。
気合いで納得がいく動きになるまで調整します。

今回、腕の辺りは以下のパラメータをいじっています。

  • Arm Down-Up
  • Forearm Stretch
  • Forearm Twist In-Out
  • Shoulder Down-Up

あと、何故か、体が下の方にずれてしまうので、
強引に Character1_Reference#Position.y で位置を上にずらしています。

とりあえず作ってみましたが、クソゲー感がより増した感じです。
首とか体とか足とかも少しいじればいいんでしょうが、、、まあ、これはこれで趣があって良いですねw

おわりに

現状付けなくても良いレベルのAnimationですが、頑張ればマシになる道筋を付けることはできた感じでしょうか。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4