Unity勇者の冒険の書

Unityで学んだことや便利なものなど作ったら紹介します

【Unity勇者の奮闘記】CharacterController2D作った 後編

rでは、使い方を説明します!

・準備段階
まず、このCharacterController2Dを使うには
3つのアニメーションを作ってください。

・立ち
・走り(歩き)
・ジャンプ

この3つです。
アニメーション素材が無い場合は
1枚絵をアニメーションクリップにしてください。

・立ち
f:id:LightGive:20150811141831g:plain

・走り(歩き)
f:id:LightGive:20150811141836g:plain

・ジャンプ
f:id:LightGive:20150811141833g:plain

出来ましたか?

そして、この3つを下のようにAnimatorに入れてください
それぞれのトランジション(矢印)はつけなくても大丈夫です

それと、それぞれのAnimationの名前を

・Idle
・Walk
・Jump

にしておくと色々と楽です

f:id:LightGive:20150811141828p:plain


この準備ができたら早速、キャラクターを作っていきます!

1.空のGameObjectを作成する

2.CharacterController2Dをつける

こんな感じのが出来たと思います
f:id:LightGive:20150811142233p:plain

試しにSpriteRendererのSpriteに立ち絵を入れてみましょう
この時点で大きさが大きかったりしたらScaleを変えたり、
Spriteの"Picxels Per Unit"の値を変えたりして、調節してください。

こんな感じ
f:id:LightGive:20150811142736p:plain

3.BoxColliderを調節する
キャラクターに合わせるようにして、調節してください。
Scaleは変えないでください

こんな感じ
f:id:LightGive:20150811142938p:plain

4.足と頭の当たり判定を調節する
キャラの頭と足の辺りに青い線がついていると思います。
これが立っているかの判定と頭をぶつけたかの判定になります。

ここで注意してほしいのが、
この線をコライダーの外側に置いてください。
外に置かないと、立っている判定にならずに、
ジャンプし続けてしまいます・・・(´・ω・`)

一応もう一度言っておきます
この線をコライダーの外側に置いてください。

言いましたからね?

この青い線を動かすのは、
CharacterController2Dの、CharaStatusの

・Head(頭の当たり判定の位置)
・Foot(足の当たり判定の位置)
・Width(当たり判定の横幅)

になります。

調節すると、こんな感じになると思います。
f:id:LightGive:20150811144101p:plain

5.色々と調節
Animatorがあると思うので、準備段階で作ったAnimatorを
入れておきましょう

いよいよCharacterController2Dを見ていきましょう
f:id:LightGive:20150811144547p:plain

・GroundLayer
キャラクターが立つ地面となるレイヤーを設定。
無い場合は作って下さい。

・CharaImageDir
キャラの画像の向きを指定しましょう。
右向きの画像ならRight、左向きならLeftを設定。

・AnimationName
準備段階で作ったAnimatorに入っている
立ち、歩き、ジャンプのアニメーションの名前を設定。
上で推奨したAnimationの名前なら変えなくて大丈夫です。

・CharaScale
キャラの大きさを変えた場合はここで設定してください。
変えずに1.0ならそのままで大丈夫です。

・CharaGravityScale
キャラクターの重力。

・CharaMoveSpeed
左右に動くスピード

・CharaJumpScale
ジャンプの高さ。

・CharaCeilingBouness
キャラの頭に当たった時の下に落ちる勢い

・IsInput
入力を自分で設定したい時はここを外して、他のスクリプト
もしくはCharacterController2Dに直接自分で書いてください。


変更後
f:id:LightGive:20150811151156p:plain

あ、プレイ中の色がキモチワルイとかそういうのはいいです('ω')

直接書く場合は、下のメソッドを呼べば、キャラが動きます

ジャンプ
Jump();


左右に動く
Move(float rightSpeed);


こんな感じで動くと思います
f:id:LightGive:20150811151109g:plain


皆さんのアクションゲーム作りに役立てたらなと思います!

他にもこういう機能が欲しいとか、こここうしたら?とかは、

GitHubでプルリクエストしたり、Twitterで貰えれば、

(やる気があれば)頑張って反映します

プルリクエストはこちらへ
github.com

lightgive.hatenadiary.jp




では('ω')ノ