経緯

Arborが期間限定で無料!更にレビュー記事書くとタイルマップエディタのNostalgiaも貰えるのか!
しかし困った時間がない!えっ!9月6日まで締め切り延長ですか!ワーイヤッター

Arborを使って作ってみる

ということでこんなの作ってくよ~
イメージ

1.動く地面を作る

それっぽく配置し、空のGameObjectにまとめる
Unity-1
地面の親オブジェクトの床にAdd ComponentからArborを開いてArborFSMをあてる
Unity-2
次にあてたArbor FSM(Script)のOpen Editorをクリックし、Arbor Editorを開く
開いたらArbor Editorの適当な場所を右クリックし、ステート作成
作成できたら右のギアマークをクリックして[挙動追加]→[Tween]→[Position]を選択
Unity-3

Tween Positionを当てたら設定
————————–
Typeを[Loop]
Duration[再生時間(移動先までの秒数)]
From x[-7] y[-3] z[0]
To x[-9] y[-3] z[0]
Unity-4
————————–

これだけで床が動くように・・・!
凄い・・・!ただただ凄いの一言・・・!
当たり判定作って場外に出たら後ろに戻してとかしなくていい・・・!
なんて凄いんだ・・・!
Unity-5

2.キャラを動かす

キャラを配置しArbor FSMをあてる
Unity-6
ステートを2つ作成し画像と同じように名前をつける
Unity-7
次にWaitに挙動追加で[Transition]→[Input]→[KeyDown]をあてる

Key Down Transitionの設定
—————————-
KeyCode [Space]
NextState [Jump]
Unity-8
—————————-

次にJumpに挙動を2つ追加する
—————————-
[Tween]→[Position]
[Transition]→[Time]
Unity-9
—————————-

Tween Positionの設定
—————————-
Type [Ping Pong]
Duration [0.7]
From x[-3] y[-2.15] z[0]
To x[-3] y[2] z[0]
—————————-

Time Transitionの設定
—————————-
Seconds [1.4]
NextState [Wait]
—————————-

動かしてみるとこんな感じ・・・
Unity-10
これでは空中に浮かぶだけでジャンプしたとは言えません・・・

ジャンプさせるにはTween PositionのCurveウィンドウを開き
Unity-11
上のように設定する

動かしてみると・・・ジャンプ出来てる!
Unity-12

障害物を追加する

障害物の設定はArborに関係のあるところ以外飛ばします・・・!

障害物にCollider2dをあて、Is TriggerをTrueにしてください
障害物のTagをEnemyに変更してください

当たり判定の追加

当たり判定を追加する前にそれっぽくGameOverのSceneを作ります
Unity-10
作り終わったら元のSceneに戻ってPlayerのArbor Editorを開きます。
ステートを作成して名前をGameOverにします。
そしたらWaitに挙動追加で[Transition]→[Collision2D]→[OnTrrigerEnter2DTransition]を追加します。
On Trriger Enter2D Transitionの設定は
—————————-
Is Check Tag [true]
Tag [Enemy]
NextState[GameOver]
—————————-

これで障害物に触れるとGameOverに遷移されます。
しかしこれではSceneが変わりませんので
GameOverに挙動追加で[Scene]→[LoadLevel]を追加します。
Level Nameに作成したGameOverのScene名を入力し
Unity-11

完成です

Unity-12

あとがき

これだけではゲームとして面白いとは言えないので色々追加する必要がありますが、Arborの機能をひと通り触れたので良しとします!
記事を書きながら作ったので少し時間がかかりましたが、慣れたら30分ほどでここまで作れると思います。
それぐらいArborは便利です・・・とくにTweenが凄いですね。頭を悩ませることが少なくなりそうです。
あなたのUnity Lifeのお供にArborいかがでしょう?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です