うさんぽ①

キャラを動かす

 

※ブログの更新を怠っていて、一番最初にした作業を今さらブログにしています

 

こちらの記事を参考にうさぎを動かせるようにしました

 

UnityでRPGを作るpart1 歩行アニメーションと操作 - Qiita

 

スプライトは相方が用意してくれました↓

かわいい

 

本当は前後左右それぞれの向きで用意する必要があるので

最終的には4×4の16マスのものを準備しないといけないのですが、

一旦後ろ向きのものだけ用意して、それを前後左右すべてに適用して動かします。

 

まず、ProjectのAssetsというフォルダにimagesというフォルダをつくって、そこにコマ割り画像を登録します

 

 

オブジェクト詳細画面からsprite editorを開いて、画像をコマごとにスライスします。

参考記事では行数、列数を指定して16マスに分割していますが、ここではコマが4つしかないので、Automaticでセルを分割しています。

 

次にアニメーションを作成していきます。

スプライトのオブジェクトを左上のHierarchyにドラッグし、オブジェクトを選択した状態で上部バーのWindowからAnimation→Animationを選択します。


するとこのような画面が表示されるので、createを押した後、Add PropertyからSprite Renderer→Sprite横の+を押します


これでアニメーションが作成できます。

再生ボタン▶を押すと、アニメーションが確認できます。

 

次に、動かす方向によってアニメーションが切り替わるように設定します

(ここでは全方向に後ろ向きのものを使います)

アニメーションの作成時に同時に作成されたこのアイコンをダブルクリックします。

このような画面が表示されますが、 何もないところで右クリック→Create State→From New Blend Treeを 選択、作成されたブロックをもう一度右クリックしてSet as Layer Default Stateを選択します。
すると、Entryから生えている線が作ったブロックに向きます。

色のないブロックは消しておきます。

 

Blend Treeをダブルクリックし、InspectorのBlend Typeを2D Simple Directionalにし、Parametersをx,yにします

Motionの右下にある+ボタンから、Add Motion Fieldを選択し、4つ追加します。アニメーションには先ほど作成したアニメーションを設定し(ここでは全方向に後ろ向きのものを((ry )、座標は上、下、左、右の順になるように設定しています。



最後にキャラクターを動かすためのスクリプトを書きます。

まず、オブジェクトにRigidbody 2Dコンポーネントを追加して、Body TypeをKinematicに設定します。

そして、右クリックからCreate→C# Scriptを選択してスクリプトファイルを作成します。ファイルをクリックするとvisual studioが立ち上がるので、visual studioでコードを書いていきます。

 

コードは参考記事の通りなので割愛します。

スクリプトファイルをオブジェクトに関連付けたら終了です。