Unity

UnityでVRガンシューティングを作ろう

投稿日:2019年6月1日 更新日:

UnityでVRガンシューティングを作成します
スマホのジャイロセンサーを利用して、ゴーグルを下に向けたら歩く、上に向けたら弾を発射するようにします

Unityのヴァージョンは2018.3.5f1で作成しています
こちらに完成プロジェクトも公開していますので、上手くいかなかった場合には参考にしてください

今回やること

UnityRemoteのダウンロードと設定


PCとスマホを接続してお手軽にVRを楽しむにはUnityRemoteというアプリが必要です
UnityRemoteはPCと接続してUnityでテストプレイすると画面をスマホに写してくれます
設定のやり方についてはこちらを参考にしてください

下準備

こちらのUnityパッケージをダウンロードして下さい

パッケージのインポートの仕方はこちらを参考にしてください

画面のアスペクト比を使うディバイスに合わせます
例えば、iPhone5~8とかは16:9です

MainCameraを消します

Assets→Dive→PrefabsにあるDive_Cameraをドラッグ&ドロップ

こちらを参考にC#スクリプトを作成し、GyroScriptという名前にして以下の内容を入力します

作成したらDive_Cameraにドラッグ&ドロップします

Dive_Cameraを選択し、貼り付けたスクリプトのPlayerにドラッグ&ドロップします

Dive_CameraにCharacterControllerをつけます

テストプレイをする → ①(DiveMouseLook)にチェック、②(GyroScript)のチェックを外す
※マウスで操作ができます
実際にスマホでプレイする → ②(GyroScript)にチェック、①(DiveMouseLook)のチェックを外す
※スマホで操作ができます

プレイヤーの移動

C#スクリプトを作成し、Playerという名前にして以下の内容を入力します

作成したらこちらもDive_Cameraにドラッグ&ドロップします

ステージの作成


ステージの作成についてはこちらにまとめてありますので参考にして進めて下さい

敵キャラの作成


敵キャラの作成についてはこちらにまとめてありますので参考にして進めて下さい

作成しない場合、こちらを参考にして素材を入れましょう

プレイヤーの攻撃

Playerが上を向いているときに攻撃するようにします
作成したPlayerスクリプトに追加して書いていきましょう

弾の作成

まずは、弾にするSphereを出します
Create → 3DObject → Sphereを選択します

isTriggerにチェックを入れます

Rigidbodyをつけます
AddComponent → 検索欄に「Ri」と入力 → RigidBodyを選択します

RigidbodyのUse Gravityのチェックをはずします

タグをつけます
Untagged → AddTagをおして、

「+」をおして、タグ名を「bullet」と入力し、Saveをおします

Sphereを選択した状態で、Untagged → bulletを選択します

プレファブにします
設定を終えたSphereをAssets内にドラッグ&ドロップします

Dive_Cameraを選択して、Dive_CameraをPlayerに、作成したプレファブをbulletにドラッグ&ドロップします

敵の動き


こちらを参考に作成して下さい

敵の設定

敵キャラを選択し、AddComponentをおし、CapsuleColliderを2つとRigidBodyをいれます

①当たり判定の位置
②当たり判定の半径と高さ
③チェックをつける
④当たり判定の位置
⑤当たり判定の半径と高さ

  • ①②④⑤を調整して敵キャラを包むように設定
  • ①と④、②と⑤は同じ値にする
  • ③はチェックをつけるとすり抜けるようになる。これは地面の判定とダメージ用の判定を分けています

RigidBodyの設定

画像のようにチェックを入れます
これによって衝突した時に移動したり回転したりしなくなります

敵のダメージ処理

Enemyスクリプトに追記します

爆発エフェクトをExplosionにドラッグ&ドロップします
※爆発エフェクトはこちらを参考にダウンロードしてください

ゲームクリアの作成

表示する文字の作り方はこちらを参考にしてください

Playerスクリプトに追記していきます

Clearの文字を2つドラッグ&ドロップします

以上で終わりです
お疲れ様です♪

おまけ:作成したゲームを動画にする


こちらを参考にやってみてください

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

-Unity

執筆者:


comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Unityでシーンを切り替える

現在のシーンの登録 現在のシーンをセーブして、File → Build Settingsをおします Add Open Scenesをおして、×で閉じます 切り替えるシーンの作成 File → New …

no image

UnityでAndroidSDKとNDKのパスを通す

macの場合、Unity → Preference をおします Windowsの場合、Edit → Preference をおします ExternalToolsのそれぞれの Download ボタンを …

Unityの便利機能を使いこなそう #2 CharacterControllerでプレイヤーの移動とジャンプを実装しよう【マリオ風、バイオハザード風、フォートナイト風】

CharacterControllerの説明 さて、今回はCharacterControllerというものを使って、プレイヤーの移動とジャンプを実装していきたいと思います CharacterContr …

Unity2018のArgumentException: Value does not fall within the expected rangeへの対処法

さて、Unityで2018にアップデートすると、 ArgumentException: Value does not fall within the expected rangeというエラーがずっと出 …

小学生でもわかるUnity講座

このページでは小学生でもわかるを目指してUnityの解説を行っています 分からなかった場合、遠慮なくこちらに連絡ください♪ 目次 Unity基本操作 Unityチュートリアル Scratch → Un …

ゲタバコ倶楽部へようこそ

  • 42206総閲覧数:
  • 27今日の閲覧数:
  • 27924総訪問者数:
  • 23今日の訪問者数:

住所
Akita,Japan

営業時間
月~日: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動、プログラミングの習得方法を発信するページです。
仕事のご依頼、メッセージ等、サービス概要をご覧の上で、お気軽にご連絡ください。

getabakosensei@gmail.com