どうも、チャーさんです。
あなたはUnityでアニメーションを作成したいですか?
であればこの記事を読んでください。
そうすると、あなたはUnityでアニメーションを作成できる
ようになります。それも他のソフトを使わずにUnity内で
アニメーションを作成し、オブジェクトにアニメーションを適用させ、
好きにアニメーションさせることができるようになります。
ですが、読まないとアニメーションの作成方法がわからず
フラストレーションが溜まるでしょう。
なのでUnityでアニメーションを作成したいなら
このままお読みください。
動画はこちら
目次
Unityでアニメーションを作成する方法
ということで早速、本題です。
Unityでアニメーションを作成する方法は、
Unity内で用意されてるアニメーション作成機能を使えば
OKです。
「えっUnity内でアニメーション作れんの?」
と思ったかもですが、作れます。
早速やり方をみていきましょう。
まずUnityでアニメーションを作成するには、
左上メニューにあるWindow > Animation > Animation
をクリックしましょう。
すると以下のような画面が表示されるので、
AnimationをつけたいオブジェクトをHierachyの中で
クリックして選択した状態で、
Createボタンをクリックしましょう。
すると、ウィンドウが開き、New Animation.anim
という名前で.animファイルを作る画面が開くので、
好きに名前をつけて、saveしましょう。
するとassetの中にオブジェクト名につけられてる、
名前.controllerっていう四角いアイコンのと、
三角のアイコンの今名前をつけた.animのアニメーションクリップ
(クリッっくしたら拡張子まで表示されます)
ってやつがAssetsの中に作られて、選択していたオブジェクトには
Animatorコンポーネントがつけられ、
自動で作られたコントローラーが自動で設定されてます。
(Controllerってとこみてください。)
ここまできたら、あとは
実際のアニメーションを作るだけで、
選択していたオブジェクトにアニメーションが適用され、
アニメーションを使って自在に動かすことができるようになります。
で、ここからは実際にアニメーションの作成です。
この段階に来ると、
Window > Animation > Animation
をクリックした時に表示された、この画面が、
時間軸のようなものが表示され、
左側にはAdd Propertyというボタンが表示されてます。
そしてアニメーションはこの画面を使って作っていくことになります。
で、アニメーションの作成方法は主に2つあります。
それが、この二重丸で中が赤い録画ボタンみたいなやつを
使ってアニメーションを作る方法と、
Add Propertyを使って、数値などを入力して
アニメーションを作成していく方法です。
オブジェクト操作でアニメーションを作成するやり方
まず直感的でわかりやすい、1つ目の方法から行きましょう。
まずは赤い録画ボタンみたいなのを押してください。
すると右側の時間軸画面が赤くなります。
そして右側の時間軸画面上にある、
白い縦線を時間軸上の数字が表示されてるとこを
クリックし好きな場所に移動させてください。
その後、最初にアニメーションをつける時に選択していた
オブジェクトをSceneビューの中で好きな場所に移動させてください。
すると、Animationの時間軸上に、ひし形のようなものが
現れます。
ここまできたら、録画ボタンの2つ横にある、
再生ボタンの三角を押してみてください。
するとアニメーションが作動し、
オブジェクトが移動するアニメーションがループ
されます。
おめでとうございます。
これでアニメーションが作成できました。
とはいえこれだけだと、移動しただけなので、
今度は同じ要領で、また時間軸上で白い縦線を好きな部分に
動かして、
今度はSceneビューのオブジェクトを回転させてみてください。
そしてまた先ほどのアニメーションの画面に戻り、
再生ボタンをクリックしてください。
すると今度は移動した後にオブジェクトが回転します。
とこんな風に、次々に同じ要領で操作を加えていくと
アニメーションを増やしていくことができます。
またこのやり方でアニメーションを増やすのを止めるには
もう一度赤い録画ボタンをクリックすれば、
アニメーションの追加が止まります。
これが1つ目のやり方でして、割と直感的に
できる簡単な方法です。
また別個挙動について説明ですが、この際
アニメーション画面ではtransform.positionの値が
自動で入力されてるのですが、
それが少し曲者でして、あとでオブジェクトの
位置をSceneビュー上で動かすと、
移動先でアニメーションをするのではなく、
もともと位置していた場所に戻ってアニメーションを
しようとします。ちょっと違う言い方をすれば、
ワールド座標が記録されてるので、
ローカル座標でアニメーションしてくれるのではなく
ワールド座標でアニメーションしようとします。
なのでその辺は考慮しましょう。
Add Propertyでアニメーションを作成する場合
で次に2つ目のアニメーション作成方法ですが、
こちらはアニメーション画面上にある、
Add propertyボタンを使う方法です。
ここをクリックすると、
Transform
Mesh Renderer
Box Collider
と表示されます。
試しにTransformをクリックしましょう。
すると、
Position (=位置)
Rotation (=回転の角度)
Scale (=オブジェクトのサイズ)
という3つが表示されるので、
好きなの選んでもいいですが、
試しにRotationを選んでみましょう。
右にある+をクリックしてください。
すると、アニメーション画面の左側に、
Rotationというのが現れ、
Rotation.x
Rotation.y
Rotation.z
というのと数値が書いてる空欄が表示されます。
あとは先ほどの1つ目のやり方と同じように、
時間軸上の白い縦線を好きな場所まで移動させ、
その後数値の入ってる空欄のとこの数値を試しに90とか
打ち込み再生すると、今度はちゃんと入力した角度まで
オブジェクトが回転してくれます。
こんな風に先ほどとは違い、プロパティ(各要素)を
数値入力で動きをコントロールしアニメーションを作成していく
ことができます。
(個人的にはこっちの方が数字で管理できてやりやすいかもです)
作成したアニメーションの変遷を管理するなら
次にアニメーションの作成に関して大事な
ステートマシンというやつがありまして、
assetの中にある、四角いアイコンの
.controllerというアニメーションコントローラと呼ばれる
物をダブルクリックしてください。
すると以下の画像のような、
アニメーションの管理画面が表示されます。
これはアニメーションからアニメーションの変遷を管理する画面でして、
例えばあなたが作ったアニメーション1からアニメーション2
へとアニメーションをつなげたり、
アニメーションとアニメーションの移り変わりを
管理することができます。
ちなみにステートマシンのステートを(オブジェクトのアニメーション状態)
だと思ってもらえれば、
それを管理するためのものと思ってもらえれば
わかりやすいかもしれません。
例えば歩いてるアニメーションから→走るアニメーション
走るアニメーションから→ダッシュジャンプのアニメーション
みたいな感じで、ある条件でのみ出せるアニメーション
みたいなのもコントロールできるようになるので、
作成したアニメーションをいろいろ管理したい場合は、
これを使いましょう。
この記事はアニメーションの作成方法なので
アニメーションの変遷は対象外ですが、
アニメーションからアニメーションへの管理をしたい場合は
これを操作しましょう。
まとめ
ということでまとめに入ります。
Unityでアニメーションを作成するには、
Unityで用意されてるアニメーション作成機能を使えば可能です。
やり方的には、
Window > Animation > Animationをクリック
アニメーションをつけたいオブジェクトを
Hierarchyでクリックして、選択状態で、
アニメーション画面のCreateボタンをクリック。
あとはアニメーションを作成する。
するとアニメーションを作成することができます。
アニメーションを作成できればかなり表現の幅が
広がり楽しいです。
ですがこれらをコードで表現しようとしたらできなくは
内ですが結構大変です。
なので、ぜひアニメーションを自作して、
試してみてください。
思いがけず楽しいと思います。
それでは本記事は以上です。
読んでもらってありがとうございました。
でわ。
チャーさん