2024.10.26UnityでVRゲームを開発する際の私的なメモです。本記事は以下のメンターから頂いた知見を一部記載しています。野中健吾さんのプロフィール|【MENTA】No1.メンターサービスでプロに直接相談しよう!・エンジニア歴20年のゲームエンジニアです。C言語に始まり、C++、C#、最近はPythonが主戦場。参考までに私の開発環境を記載しておきます。2開発用PCの準備VRゲーム開発にはGPUを搭載したPCがおすすめです。私は外部の勉強会に参加することが多いので以下のノートPCにしています。以下のPCは指紋認証のログインが度々動作しなくなるので他のPCが良いかもしれません。Plusノートパソコンをご購入いただくか、すべてのノートパソコンをDell.comでご覧ください。www.dell.comその他のPCおすすめは以下をご覧ください。VRゲーム開発者のナカノです。VR・ARアプリの開発を始めようとされている方におすすめのPCをご紹介します。私は約8年ゲーム開発をしており、VRゲームの開発も4年前から始めました。VRゲームはもboznews.netUnityのセットアップ以下のページを参考にUnityをセットアップしてみてください。Hubを使ってUnityをインストールする方法を説明します。Hubのダウンロード/インストール方法から説明するので、Unityをまだ使ったことがない方や興味があるという方はぜひ読んでみてください。styly.ccインストールの際に、ビルドに使用するので以下のようにAndroid用のモジュールはインストールするようにしてください。Editor」からインストールしてください。2をPCに接続できるようにしてください。Pro対応アプリを開発する方法やTipsをまとめています。Toolkitを活用する場合は以下の記事をご参照ください。私はアセットは自作予定なので3D(URP)でプロジェクトを作成しています。Pluginを使用したUnity最新方式でのVRアプリケーション開発方法についてまとめています。Linkを実行してください。接続することで、ゲームをビルド(実行可能なファイルにすること)をしなくてもUnity上でゲームをプレイできて時間の節約になります。Quest」シリーズは、基本的にはPCに接続しなくても、そのまま単独で使用できます。PCに接続して、より本格的なVRコンテンツを体験できるシステムがあります。それが「Questwww.moguravr.comVRヘッドセットにapkファイルをインストールPCと接続し続けなくてもプレイできる方法として、ビルドしたapkファイルをインストールする方法があります。VRプロフェッショナルアカデミー/No1.VR/AR専門プロフェッショナルスクールOculusQuestへ外部のアプリケーションを簡単にインストールできるSideQuest。Studioが利用いただけます。本キットではデフォルトの開発用エディタが開発効率の観点からRiderになっています。Studioに切り替えてください。Riderに興味ある方は以下もご覧ください。Riderは有料ですが、開発効率の向上につながる様々な機能があるため元が取れると考えています。無料期間もあるのと、学生は無料なので是非使ってみてください。Riderの機能については以下をご参照ください。Riderのセットアップ方法については以下をご参照ください。...pleiades.ioバージョン管理ツールのセットアップバージョン管理ツールを使うことで、変更の履歴が保存されるので心置きなく変更できます。Desktopを利用しています。Desktopのセットアップは以下を参照してください。デスクトップをインストールできます。docs.github.comVR開発スターターキット以下のキットが無料で機能が揃っていて良いです。Managementを先にインポートして以下の設定を行う必要があるのでご注意ください。セットアップ動画は以下です。ToolkitのSampleの中に含まれている、VR酔い対策で移動中などに視界が狭くなるツールです。Originを追加し、視界を狭くしたい操作を選択する必要があります。unityroomにアップできるようにするunityroomにVRゲームをアップするには下記を参考にプロジェクトを作成してください。以上のバージョンが必要です。渋谷ほととぎす通信Unity開発では必須級のアセット「UniTask」について、初心者向けにわかりやすくインストールから基本的な使い方までを丁寧に解説した記事です。UniTaskを使ったことがない、UniTaskを復習したいという方におすすめです。読...shibuya24.infoR3のセットアップどちらかというとUniRxからR3への移行記事のようなので、もしR3自体の入門記事があれば教えて下さい。私はモーションの作成に以下のmocopiを使用しています。肩より上に腕を持っていく動きが上手く取れないので、剣戟のモーションを作成する場合は要注意です。私は肩より上にあげないでよい動きに絞っています。mocopi(モコピ)の商品ページです。www.sony.jpUnity用のSDKがあるため、そちらを使用してmocopiを装着した際の動きをUnityに送っています。Unityについてmocopiデベロッパーサイトへようこそ。SDKの利用方法や開発方法について説明しています。www.sony.netUnity上でモーションを録画してAnimationファイルにするのは、以下のEasyMotionRecorderを使用しています。Clipはデフォルトで床に沈んでしまうので、以下の設定を変更して床に沈まないようにしますAnimationウィンドウで、余計な動きを削除します。上の行をドラッグして選択するとすべての行を選択できるので、その状態でDeleteキーです。freewww.slideshare.netVContainerなぜDIが必要なの?というのはこのスライドがわかりやすかったですVRゲーム開発ゲーム開発入門Unityでのゲーム開発が初めての人は以下の入門書を読んで実際にやってみることをオススメします。VRゲーム開発の入門要素はありませんが、まずはUnityの基本を学ぶのが大切です。どちらかだけでもよいのですが、それぞれ別の機能を学べるので是非両方チャレンジしてみてください。VRゲーム開発については、以下の本で学んだ後にVRの開発環境をセットアップして色々試しながら学ぶのがよいでしょう。良い教材ありましたら、Xで教えてください。オープンソースで利用可能なアセットUnityのアセットストアのアセットはオープンソースでの活用が禁止されています。そのため、オープンソースで活用できるアセットを利用するか自作する必要があります。ここではオープンソースで利用可能、つまり再配布可能なアセットのサイトを列記します。3Dモデルのアセットサイトです。アセット数も豊富でライセンスによる絞り込みが可能です。BY」、「CC0」の2つで検索することが多いです。co...sketchfab.com再配布可能な効果音やBGMのサイトです。BGM・ジングル・効果音のフリー素材|OtoLogic5000点を超える高品質なBGM・ジングル・効果音のフリー素材が無料でダウンロード可能です。otologic.jp日本語フォントを利用する場合は、以下のフォントが再配布可能です。...fonts.google.com上記フォントの使い方は以下が参考になります。デフォルトのフォントだと英語のみ使用可能なため、日本語を打ち込んでも四角(□)の形が表示されてしまいます。...www.midnightunity.net3DモデルのアセットのインポートSketchFabのアセットのインポートをプラグインで行います。ava...github.com上記プラグインはライセンスが明記されていないため、オープンソースのプロジェクトに含められません。そのため、私はインポート用の別プロジェクトを作成して上記ページの.unitypackageを実行してインポートしてから、ゲーム開発用のプロジェクトに移す方法を取ります。バージョンは違いますが、インポート方法は以下です。Sketchfabは、3Dモデルの投稿・共有ができるプラットフォームです。styly.ccインポートした際にピンクになる場合は以下の対応を行います。Qiita概要3DオブジェクトのAssetがピンク色になってしまう事、よくあると思います。ここで説明するのは、URP環境のアプリを作ろうとしている方を対象にしています。操作説明をわ...qiita.comユニティちゃんのURPプロジェクトへのインポートインポート時にピンクになってしまったのですが、以下の記事を参照して解決しました。Unityでユニティちゃんがピンクになるのを解決するblog.14nigo.netVR上で武器を持つ武器を持てるようにする武器を持つには、以下のコンポーネントを武器にアタッチします。これで、武器にコントローラーから出る線を当ててグリップボタンを押すと武器を持てます。Transformに設定します。AttachPointオブジェクトの位置や角度を変更すると、武器を持つ角度が変わります。角度を変更する際は、実際にVRヘッドセットでプレイして持ちながら角度を変えて、値をコピーしておいてプレイ終了後にエディタに貼ると調整しやすいです。自分で仮のオブジェクトを作成する場合は、変形しやすいのでProBuilderがやりやすいです。オブジェクトの面を、他の面を変形させずに移動する(凹ませたりする)のはShiftキーを押しながら動かします。とんプログラミングUnityでは、デフォルトで、CubeやSphereなどの3DのObjectが用意されていて、大きさや傾きを変えることはできる。Grabにチェックをつけます。TriggerをStickeyに変更します。武器を最初から持っているようにしたい場合は、以下の部分に武器を設定します。Interactableが設定されていないと表示されないので注意してください。武器の軌跡を表示するTrailRendererを使用する方法が簡単です。Unityのエフェクトでの剣の軌跡の作り方を究める。エフェクトのTrailを使って剣を振った際の軌跡を作るやり方を紹介していく。2022以降は敵を移動させるNavMeshの使い方が変わったので、注意です。Obstacleを使う場合は「Curve」のオプションを有効にして、壁が埋まっている範囲を移動対象外にしないと、敵が壁に向かって進んでしまうので気をつけてください。経由でインストールして利用する形式になりました。SufaceのBakeをする際に該当オブジェクトのみにNavmeshを貼りたい場合は以下のオプションに変更してください。私はデフォルトのままでBakeして、親オブジェクトまでNavmeshが張られてしまいました。イベントシーンを作るイベントシーンを作るには、アニメーションや音楽・スクリプトを一括で制御できるTimelineを使うのがよいでしょうはじめてのUnityのTimeline|ゲーミングねここの記事はTimeline初心者の備忘録です。同じチームにTimelineのプロの子がいるので、自分はいいや~~~って思ってたけど、個人開発で使えそうな知識なのよね。勉強しま...note.comまた、私の場合はVRならではの演出として「1イベントシーン中にキャラがプレイヤー置いてどんどん動いてしまうので、プレイヤーはキャラを追いかけないと話が聞けない」及び「2プレイヤーはイベントシーン中に動けて、キャラを攻撃したりすると対応したアクションを行い、またイベントのセリフに戻っていく」を実現してインタラクティブにしたいと考えています。Trackという技術を使って特定の時点での制御を自前のスクリプトで行います。いう2つのクラスをそれぞれ継承した2つのクラス作成し、各タイミングでやらせたい動作などをスクリプトで記述します。XR-Hub以前の記事で、タイムラインを用いてアニメーションを動かすことについてご紹介しました。よろしければ先に以下の記事を読んでいただけると幸いです。Trackとその実装方法について簡単にご説明することレポジトリ...qiita.com以下の通りTimeline再生時にキャラの座標がずれることがあるのでご注意ください。最適化を行うVRはヘッドセット側のスペックの問題で、FPSを高くしておくことが望ましいです。しないと、描画のちらつきなどの問題が発生します。アクション系のVRを快適にプレイできるのは理想を言えば90-120FPS、少なくとも75FPSくらいは欲しいです。FPSは低いほど負荷が高い状態です。FPSの測定をするためのProfilerの使い方は以下を参照してください。MaterialsUnityで作ったゲームが何か重い、こういうときにはパフォーマンス計測することが大事です。今回は3つのケースを取り上げ、パフォーマンス計測ならびに処理の改善を図るデモをいたします。...learning.unity3d.jp最適化の方法としては以下があります。Planes」の「Far」、つまりカメラの描画範囲を狭くするという方法です。Uniblo-ゆにブロ-uniblo.biz項目の場所は以下です。CameraにアタッチしてデフォルトからSkyBoxを変更しています。オクルージョンカリングカメラに描画されていない範囲を描画しないようにする方法です。以下の記事が詳しいです。家や室内のワールドで動かないオブジェクトが多くあるワールドを制作するときに役立つ場面が多いです。設定は簡単なので、覚えておくと非常に役立ちます。Static)にも設定しています。Unityでゲームを作っております、天野スズランと申します。MyEditBPM(1分あたりの拍数)や音楽のテンポを自動で測定できる無料オンラインサイトです。曲のリミックスなどが必要なDJや音楽演奏時のテンポ把握にご活用ください。Seville氏の許可を得て翻訳転載したものです。ゲーム・エンタメ最新情報のファミ通.comオンライン開催された海外の開発者向けカンファレンスから、“インディーゲームのパブリッシャー契約”というニッチなテーマを扱った講演を紹介。以下の方法が有効です[Unity]delegate,Action,Func,Event,UnityAction,UnityEcentのまとめと違い|takataokdelegateはCでいう関数ポインタなんだなぁぐらいの認識でいたら、Actionなんてものが出てきました。調べてみるとUnityActionがでてきたり・・・。関数を保存できるものです。QiitaPlantUMLでクラス図を描く際よく使う記法をまとめています。Kit』のソースコードについて本プロジェクトのソースコードについて、リリース後の公開を目指します。Kit』のソースコードは以下の経緯により、公開を停止します。追記)以下の経緯によりソースコードの公開を停止します。Mosquito)unity1weekというUnityで1週間でゲームを作ってunityroomに公開するゲームジャムが始まりました。今回のテーマは「かわる」です。VRゲームを開発する際の私的なメモです。情報少ないですが適宜追加していきます。私の開発環境は以下に記載しています。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Media.ホーム検索トップタイトルとURLをコピーしました。