【Unity/Playmaker】コントローラーから銃弾を発射する仕組みを作る

今回の記事では、playmakerを利用してコントローラから銃弾を発射できるように設定する方法と、STYLYへのアップロード方法について解説します。

  • まず、3D sphereを作成し、銃弾の元をつくります。銃弾に見えるようにイエローのシェーダーを適用します。
  • 次に、rigid body componentを追加し、カプセルコライダーを適用し、何かに衝突したと判定できるようにします。そして、この銃弾を”bullet”と名付けた空のゲームオブジェクトの中に入れ、銃弾のprefabを作成します。

銃弾を選択し、playmaker上でFSMを追加し、Moving forwardステートを作成します。STYLYウェブページのこちらのチュートリアルを参考にして、add forceとwaitのアクションを追加し、どれほどの勢いで銃弾が前へ進むかや銃弾が破壊されて消えるまで何秒待つかを設定します。その後、Dyingステートを作成し、self-destroyのアクションを設定します。

  • さて、次は銃から銃弾を発射できるよう、controller Rightを設定します。前回のチュートリアルではcontroller Rightへアクセスし設定を変更する方法をご案内しました。今回は”Setup”ステートへtransition finishedを追加します。そしてwaiting for Triggerを作成し、Global_TriggerPressDown_RとGlobal_TriggerPressUpのイベントを設定します。waiting for Triggerステートには、Global_TriggerPressDown_RのTransitionを追加します。
  • 次に、spawning bulletステートを作成し、waiting for TriggerからTransitionを設定します。Spawning bullet stateではget rotationのアクションを追加し、作成されたsphereのrotationを取得します。そしてwaitingステートを作成し、waitアクションを設定、waitの値を0.2に設定します。

Create objectのアクションをもう一つ作成し、銃弾のprefabをゲームオブジェクトのオプションへドラッグアンドドロップします。 最後に、シューティングゲームのprefabをSTYLYへアップロードします。 そしてSTYLYの“My Models”から、アップロードしたprefabをシーンへ選択します。シーンを公開することで、HTC Viveで動作確認をすることも可能になります。銃から銃弾が発射できるようになりました。 チュートリアルのビデオも作成したので、ぜひ参考にしてください。 私はビデオの6:15で忘れてしまっているのですが、Get Childアクションに“spawnPoint”の名前を追加することを忘れないでくださいね。 ビデオチュートリアルをURDU またはHINDIでみたい方は、こちらをクリックしてください。