【Unity】PlayMakerで遊んでみよう Vol.3 ~キャラクタの移動~

キャラクタの移動 Playmaker
キャラクタの移動

PlayMaker を使ってキャラクタを移動させてみます。

キャラクタの移動

地面の追加

まず、キャラクタが重力で下に落ちていかないように地面を追加します。
Hierarchy ウィンドウで右クリックして [3D Object] -> [Plane] で Plane を追加します。
オブジェクト名は Ground に変更します。
表示はされなくていいので、Mesh Renderer コンポーネントは削除しておきます。

Hierarchy ウィンドウ
Hierarchy ウィンドウ

状態遷移の追加

Hierarchy ウィンドウの Player オブジェクトを選択します。
PlayMaker Editor で右クリックし [状態遷移を追加] をクリックします。

状態遷移の追加
状態遷移の追加

PlayMaker Editor の右上にある「状態」タブを選択します。
現在選択している状態の名前を Setup に変更します。

状態名の変更
状態名の変更

同様にして、右クリックし [状態を追加] から Moving を追加します。

Moving の追加
Moving の追加

遷移の追加

Setup の処理が完了したら、Moving に遷移するようにします。
Setup を選択して右クリックし、[遷移を追加] -> [FINISHED] をクリックします。
追加した FINISHED から Moving にドラッグ&ドロップすると遷移する矢印が作成されます。

遷移の追加
遷移の追加

これで、Setup から Moving への遷移ができるようになりました。
今回は Setup では何も処理しないので、Playボタンを押したら Setup がすぐに終わり Moving の状態に移ります。

変数の追加

アクションを作成しながら、変数を追加していくことも出来ますが、ここではあらかじめ変数を追加しておきます。
PlayMaker Editor の右上から「変数」タブを選択します。
Vector3 型の新しい変数 Movement を追加します。

変数の追加
変数の追加

同様にして、Float 型の変数 MoveSpeed も追加します。
Value は 10 にしておきます。(画像では 0 になっていますが……)
Input にチェックを付けると、Inspector ウィンドウから値を入力できるようになります。

MoveSpeed 変数の追加
MoveSpeed 変数の追加

アクションの追加

それでは、アクションを追加していきます。
Moving 状態を選択します。

Get Axis Vector

Action Browser で get axis を検索します。
検索結果から Get Axis Vector をダブルクリックします。

アクションの追加
アクションの追加

Moving の状態にアクションが追加されます。
Relative To に Main Camera を設定します。(Hierarchy から Main Camera オブジェクトをドラッグ&ドロップします)
Store Vector に Movement 変数を設定します。
これで、入力した移動方向のデータが Movement 変数に格納されます。

アクションの設定
アクションの設定

Controller Simple Move

同様にして、Action Browser で controller を検索します。
検索結果から Controller Simple Move をダブルクリックします。
赤くエラーメッセージが表示されるのでクリックすると、Player オブジェクトに Character Controller コンポーネントが追加されます。

Controller Simple Move の追加
Controller Simple Move の追加

Controller Simple Move は Get Axis Vector の次に実行したいので、歯車マークから Move To Bottom を選択して一番下へ移動します。

アクションの移動
アクションの移動

Move Vector に Movement 変数を設定します。
Speed に MoveSpeed 変数を設定します。
これで入力した方向にキャラクタが移動できるようになりました。
MoveSpeed 変数の値は 10 とかに設定しておきましょう。

Controller Simple Move の設定
Controller Simple Move の設定

Smooth Look At Direction

Action Browser で smooth を検索します。
検索結果から Smooth Look At Direction をダブルクリックします。
Target Direction に Movement 変数を設定します。
これで、移動方向にキャラクタが向きを変えるようになりました。

Smooth Look At Direction の追加
Smooth Look At Direction の追加

動作の確認

Playボタンを押して、動作を確認しましょう。
動作がおかしいところは調節します。

カメラの位置調整

キャラクタが見える位置にカメラを移動します。

カメラの位置調整
カメラの位置調整

コリジョンの調整

キャラクタが浮いてしまっているので、コリジョンの調整をします。
Player オブジェクトの Character Controller コンポーネントにある Center の Y を1.5 に、Height を 3 に変更します。(この辺りはご自身の環境に合わせて調整してください)

コリジョンの調整
コリジョンの調整

まとめ

PlayMaker でキャラクタを移動できるようになりました。
ビジュアルスクリプティングですが、意外と少ない作業で実装できました。

キャラクタの移動
キャラクタの移動

コメント

タイトルとURLをコピーしました