iconVRシューティングゲームの作り方では、UnityとPlaymakerを使ってVRシューティングゲームを作り、STYLYにアップロードして公開するまでをレクチャーします。今回は、ゲームに使用する銃コントローラの設定までご紹介します。敵キャラクターの設定BGMとSEの設定STYLYにアップロードする方法Part.1〜7まで続いてますので、最後まで読んで作ってみましょう!前回では、Playmakerの設定・ゲーム素材をUnityにインポートするまでの事前準備について紹介しました。サンプルSceneコントローラの設定gunController_Rの設定VRゲームで必要なコントローラの位置や回転を認識させる設定をしていきます。Gameに空の子オブジェクトを作成し、「gunController_R」という名前を付けます。これは右手の銃になります。左手の銃コントローラはこのチュートリアルの最後に作ります。FSM」を選択してオブジェクトにFSMを追加します。State」を選択して、ゲームにステートを​​追加します。ステートの名前は「Setup」にします。ステートを​​追加これにより、銃コントローラオブジェクトの初期設定が実行されます。Object」アクションを検索し、それをクリックしてSetupステートに追加します。(right)」を入力・検索し、「controller」という新しい変数の中に保存します。Object」アクションを設定このアクションは、シーン内で適切なコントローラを見つけて、このFSM内で使う変数を格納し、そこで特定のアクションを実行します。Position」アクションを追加し、オブジェクトを設定することでシーン内のコントローラーの位置を取得します。Position」アクションを追加これが右手のコントローラーとなります。この位置は、「controllerPosition」というベクトル変数に格納します。Roatation」というアクションを追加してコントローラの回転を取得します。Angles(オイラー角)」オプションを用いて、「controllerRotation」という新しい変数内にこれら角度を格納していきます。銃オブジェクトをプレハブ化ダウンロードしたアセットにある銃オブジェクトの設定をしプレハブ化します。Hierarchyにドラッグします。Editor内で設定を変更した後にプレハブにすることができます。CrossbowのScaleは0.2、0.2、0.2に設定してゲーム内でサイズが正しくなるようにしておきます。Scaleを変更RainbowCrossbowの子オブジェクトに「Sphere(球体)」をつくります。Sphereを追加これは銃弾の発生源となります。Renderer」を無効化します。これで銃の先に銃弾の発生源を設置できました。最後に球体の名前をspawnPointSphereとしておきましょう。シーン内で見つけやすくなります。RainbowCrossbowオブジェクト全体をmyPrefabsフォルダにドラッグして、一つのプレハブにしてしまいます。Hierarchyに戻すことなく、プレハブを選択することで直接編集することができます。Hierarchyから削除します。次にRainbowCrossbowプレハブとgunController_Rをリンクさせて銃コントローラを作成します。Objecet」アクションを加えます。ObjectにRainbowCrossbowプレハブをドラッグして設定します。この銃オブジェクトをコントローラの位置と回転に同様に設定することで、完全に同じ方向に向きます。これにはコントローラの設定で使用した「controllerPosition」と「controllerRotation」変数を用います。最後に、これを「crossbow」という新しい変数として保存します。アクションの追加ユーザーが銃弾を打つのに最も快適な形でVRコントローラーを握るには、RainbowCrossbowをx軸に40度回転させると最も平行になることがわかりました。したがって、アクションブラウザから「Rotate」アクションを追加し、回転の角度を図のように設定します。Frame」のチェックを外してください。Parent」アクションを作り、RainbowCrossbowの親がコントローラとなるように設定します。Parentの追加これにより、RainbowCrossbowがコントローラについて動きます。Child」アクションを加えて、先ほど作成したspawnPointSphereというRainbowCrossbowオブジェクトの子を探します。後で参照しやすいように「spawnPointSphere」という新しい変数内にこの子要素を格納します。次に、右手の銃コントローラのFSMを設定していきます。Trigger」という新しいステートを作成し、そのステートにつなげるSetupステート内にFINISHEDと呼ばれる遷移も作ります。FINISHEDと選択し、FINISHEDから新しいステートに矢印を左クリック&ドラッグすることでできます。次にコントローラのトリガーを使って弾丸を発射させる設定を行います。Eventリストから「Global_TriggerPressDown_R」と「Global_TriggerPressUp_R」という名前と同じ二つのグローバルイベントを加えます。この名前は必ず完全に同じスペルでなければならず、ゲームをアップロードした際にSTYLYと連動されます。Triggerステート内の遷移としてGlobal_TriggerPressDown_Rを加えます。このトリガーはユーザーが押した時に銃弾を打つのに使われることになります。Transitionメニューからグローバルイベントとして追加します。このようにグローバルイベントとして遷移として追加すると、トリガーを離した時に銃弾が打つのが止まるようになります。Triggerにつなげます。sphereにの軸と同じ軸方向に銃弾を向かわせることです。これは銃から直接銃弾を打つ際に、この動きを起こすのに必要な力の方向を正確に知る上で必須です。GetRotationアクションを追加これはアクションブラウザから「GetRotation」アクションを追加し、次の図で示されているフィールドを埋めればできます。Object」アクションが必要になります。銃弾の発生源となるspawnPointSphereと回転をspawnPointRotationに設定します。この回転は以前追加したアクションとともに取得した発生源の回転です。Objectフィールドを空欄にしておきますが、次回記事でこれを埋めに戻ってきます。Objectアクションの追加Playmakerではステート上に赤い警告マークを置いてくれて不完全なアクションを知らせてくれます。後ほど探しやすくなります。Bulletが終わった際、次の銃弾を打つまでに待ち時間を作りましょう。このためには、waitアクションを持つ別のWaitingステートを作るのがよいです。Bulletステートに戻ってこさせます。Bulletステートが終了時にもWaitingステートにつながるようにしてください。Waitingステート内に「Wait」アクションを追加し、0.2秒待たせるようにします。Time」にチェックをします。待ち時間を設定これで実際の世界における0.2秒が各銃弾の間に待ち時間として入ります。これで銃コントローラーの設定が完了しました。次回の記事では弾丸の設定をご紹介します。GALLERYから体験できます。Yasuzawaデジタルハリウッドを卒業後、フリーランス動画クリエイターとして活動中。動画編集を中心に撮影や編集、ライター、英和訳などクリエイター以外の分野でも活動中。宇宙と読書が好きです。Venue」プロジェクトでんぱ組.incとXRクリエイターが協力し、渋谷スクランブル交差点で新しい音楽体験を創り出そう。総額300万円の還元金、制作アセットの提供、審査にはでんぱ組.incも参加!あなたのアイデアで都市をステージに変えましょう。スマホがなくなる日』(幻冬舎)10年後のテクノロジーを誰が想像できるだろうか──。2024年、ついに「空間を身にまとう時代」の実現を加速するデバイスが登場!人類はスマホの小さな画面から解放され、空間という無限のキャンバスを手に入れる。スマホがなくなる日、次世代デバイスでどんなミライをつくれるのか。スマホがなくなる日──。この先に続くミライは、本書を読んで創造してみてください。