記事作成 2019年6月
PlayMaker 1.9.0 / Unity 2018.2.6f1
アクションゲームだけでなくても、オブジェクト同士の接触の判定は必須ですね。
今回は、こんなふうに
左下の [スイッチ] に接触すれば、右上の [トビラ] が回転する。
という仕掛けを作ってみます。
操作キャラは、例のごとく「十字キーで移動」のカプセルを使用します。 1~9
1) 基本形のCubeをつぶして板状にしたオブジェクトをスイッチ、トビラに見立てています。
2) 「スイッチ」にこのように「状態」、「アクション」を付けます。
[Trigger Event] は他のオブジェクトの接触を感知するアクションです。
On Trigger (enter)は接触、(Stay)は接触状態の維持、(Exit)は離れたことをそれぞれ
感知してイベントに脱出します。
3) 感知するには、トリガが必要です。トリガはコライダから設定して作りますが、
今回は、Cubeにはじめから付いているコライダに、もう一つ追加してそれを
トリガとします。
「はじめからあるコライダ」を少し小さめに
「追加したコライダ」を大きめに変更します。
「はじめからあるコライダ」をトリガにした場合でも感知できますが、
コライダのない(キャラクターがスイッチを突き抜ける)状態になります。
----------------------------------------------
4) もう一つ準備を、[Trigger Event] は感知するオブジェをTagで識別するため
先程の設定どおりにするのであれば、
操作キャラクター「cupsule」のTagをPlayerにしなければなりません。
(また今回のようにキャラクターコントローラ付きのオブジェは例外ですが
通常のオブジェの場合 【Rigidbody】 コンポーネントを付ける必要があります。)
4) もう一つ準備を、[Trigger Event] は感知するオブジェをTagで識別するため
先程の設定どおりにするのであれば、
通常のオブジェの場合 【Rigidbody】 コンポーネントを付ける必要があります。)
----------------------------------------------
5) 次はトビラ側の設定。
このようにノード、アクションを。「回転する」はおなじみ?の[Rotate]
開始時の[idle]と[回転停止する]はアクションなしで構いません
----------------------------------------------
6) イベントを2つ作り、左のチェックを入れグローバル化します。
はじめてグローバルイベントを作る場合、ポップアップが出ますが、そのままOKで。
それぞれの「状態」へ上図のように「グローバルイベントを追加」 します。
(注)これ実はイベントをグローバル化しなくても「グローバルイベントを追加」できてしまう
のです。「イベントのグローバル化」と「グローバルにイベントを追加する」という
意味がイコールでなかったり、ちとややこしいのですが、いずれ慣れるとわかるので
今はそんなもんだと思って流してください。
----------------------------------------------
7) スイッチ側の設定に戻ります。キャラクターが接触した後に遷移する「状態」に
[Send Event] を付け、ターゲット(イベント送信先)に「トビラ」をドロップ
----------------------------------------------
8) 色の変化は、なくても動作には関係しません。
変化させる場合は、適当なマテリアルを作ってスイッチのCubeに適用しておきます。
そして [Set Material Color] で、色を変化させる事ができます。
----------------------------------------------
9) 更に、このように、ノード、アクションを組み
接触ごとに、回転とストップが繰り返されるようにします。
5) 次はトビラ側の設定。
このようにノード、アクションを。「回転する」はおなじみ?の[Rotate]
開始時の[idle]と[回転停止する]はアクションなしで構いません
6) イベントを2つ作り、左のチェックを入れグローバル化します。
はじめてグローバルイベントを作る場合、ポップアップが出ますが、そのままOKで。
それぞれの「状態」へ上図のように「グローバルイベントを追加」 します。
のです。「イベントのグローバル化」と「グローバルにイベントを追加する」という
意味がイコールでなかったり、ちとややこしいのですが、いずれ慣れるとわかるので
今はそんなもんだと思って流してください。
----------------------------------------------
7) スイッチ側の設定に戻ります。キャラクターが接触した後に遷移する「状態」に
[Send Event] を付け、ターゲット(イベント送信先)に「トビラ」をドロップ
送信するイベントの選択肢に、「トビラ」で作った [回転] があるので、選びます。
8) 色の変化は、なくても動作には関係しません。
変化させる場合は、適当なマテリアルを作ってスイッチのCubeに適用しておきます。
そして [Set Material Color] で、色を変化させる事ができます。
9) 更に、このように、ノード、アクションを組み
接触ごとに、回転とストップが繰り返されるようにします。
0 件のコメント:
コメントを投稿