Unity

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

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

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

今回やること

UnityRemoteのダウンロードと設定


PCとスマホを接続してお手軽にVRを楽しむにはUnityRemoteというアプリが必要です
UnityRemoteはPCと接続してUnityでテストプレイすると画面をスマホに写してくれます

UnityRemoteの使い方

Android/ios端末

  • アプリを起動する
  • PCと接続する(必ず充電用ではなくデータ通信用を使う)

Unity

  • テストプレイを実行する

UnityRemoteが繋がらない時のトラブルシューティング

Android

  • 提供元不明のアプリにチェック
  • USBデバッグにチェック
  • Unityremoteをダウンロード

iPhone

  • PCを信頼する
  • iTunesと同期させる

PC

  • JAVAのインストール
  • Android SDK のインストール
  • 各自持っている端末にしたがってADKドライバを手に入れる(機種名、ドライバ、ダウンロードで検索)
  • デバイスマネージャーで端末にドライバを認識させる

Unity

  • JAVA と ANDROID SDK、2つのPATHを通す(Edit → Preference → External Tools → Android SDK、Android JDK)
  • Edit → Project Setting → Editor → device で any andoroid device(iphoneの場合は繋ぐと機種名が表示されるのでそれを選択)
  • file → build setting でAndroid(iphoneの場合はios)にプラットホームを合わせてswitch platform する
  • file → build setting でシーンを add current する

以上でスマホの画面にUnityの画面が映るようになります

下準備

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

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

MainCameraを消します

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

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

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

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

プレイヤーの移動

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

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

ステージの作成


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

敵キャラの作成


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

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

プレイヤーの攻撃

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

弾の作成

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

isTriggerにチェックを入れます

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

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

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

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

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

敵の動き


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

敵の設定

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

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

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

敵のダメージ処理

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

ゲームクリアの作成

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

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

このサイトについて

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

検索

このサイトについて

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

検索

-Unity

執筆者:


comment

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

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

関連記事

no image

タイトル画面からゲーム画面の呼び出し

関連

Unityの便利機能を使いこなそう #1 Terrainでステージを作ろう

はじめに Unityにはプログラミング以外にもゲームをリッチにする機能が備わっています ここではそんな機能を機能別に紹介していきます なるべく一通り使えるようにしていこうと思います Terrain T …

no image

衝突判定のまとめ

入力する箇所 衝突するオブジェクトがすり抜けない場合

{}の中には実行する内容を入力する 衝突するオブジェクトがすり抜けない場合の注意 …

blenderで火の鳥のロビタを作ってみた

さて、休日というものは得てして暇なものです そんな時はなんとなくPCで適当にものづくりしてみる 何しよっかなーと考えた結果、最近手塚治虫大先生の火の鳥を読み返しているのでその中に出てくるロビタを作って …

no image

攻撃判定

①当たり判定を出したいキャラクターにスクリプトを取り付ける ②取り付けたスクリプトのobjに出現させたい当たり判定をドラッグ&#038 …

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

  • 16458総閲覧数:
  • 81今日の閲覧数:
  • 10201総訪問者数:
  • 53今日の訪問者数:

住所
Tokyo,Japan

営業時間
月火: 終日
水~金: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動を発信するページです
仕事の依頼、メッセージ等お気軽にご連絡ください

getabakosensei@gmail.com