サイトのトップへ戻る

Cocos2d-x ドキュメント 日本語訳

サイト内検索

仮想現実 (VR)

これまでに、 Virtual RealityVR という言葉を聞いたことがあるかもしれません。 VR は新しい技術ではありません。 そのルーツは、1970年代よりも前まで遡ることができます。 The original goal of VR was to take an environment or situation, both realistic and unrealistic and let the user feel what it is like to experience it by simulating their physical presence in the environment. これは、ユーザーが置かれている物理的な環境を全て取り払い、別の体験へと いざなうものと考えることができます。 VR といえば。 ヘッドマウントディスプレイや特別な眼鏡を着用したり、特別なプラットフォーム上で行われるものとイメージするかもしれません。

現在のVR では ゲーム没入型動画に重点が置かれています。



VR 製品はもうあるのですか?

いいえ、 VR はまだ開発の初期段階にあります。 これは 実験的なものと考えてください! 実際には、Cocos2d-xでは概念実証として使用するためのgeneric rendererが実装されています。 シミュレーター上や Google Cardboardヘッドマウントディスプレイでこれを使用することができます。 generic renderer が 100%正しい結果を出すとは思わないでください。 サポートされているSDK とハードウェアで常にテストする必要があります。

Cocos2d-xでは有名な VR SDKをサポートしています。:

SDK 製造元会社 実行環境
GearVR サムスン Galaxy Note 5/S6/S6 Edge/S6 Edge+
GVR(Cardboard And Daydream) グーグル Android 4.4 (KitKat) or higher
DeepoonVR Deepoon Galaxy Note 5/S6/S6 Edge/S6 Edge+
OculusVR Oculus Oculus Rift(Windows 7+)


Is your game a good VR candidate?

If, late on a Friday evening, after a night of dinner, dance and drink, you find yourself thinking let me take my current game and turn it into a VR game. Pause... longer... and make sure you are not dreaming! Seriously, you need to stop and ask yourself a few questions:

  • How do I interact with the game currently? Touch? Gamepad? Keyboard?
  • In 2d games: what does moving the camera mean? 2d games are not usually made in the first person.
  • Is your game done in a first person scenario? First person games can be made into VR games easier than others types of games.
  • Is my 2D or 3D game a good candidate for a VR game after answering the above questions?

When using VR it is important to note the following items:

  • Touch events don't work as expected when developing for VR. In fact, touch events should be disabled in VR games.
  • VR games should be configured to use a gamepad and/or another external input device, such as a head-mounted display.

With this knowledge and a can do attitude, get started...



何から始めるか

まずは、あなたの端末がVRをサポートしているか、ハードウェアの再確認をすることが重要です。 VR には二つのものが必要です:

  • ステレオレンダリング (ディストーションメッシュ):全てのプラットフォーム上で使用可能

  • ヘッドセット入力: iOS と Android上でのみ使用可能



VRをインポートする

次に、Cocos パッケージマネージャーを使ってVRをあなたのプロジェクトに追加します。これはCocos コマンドラインツール に含まれています:

常にvrsdkbaseインポートする必要があります。この手順では、あなたのプロジェクトが VRをサポートするように編集しています。

$ cocos package import -v -b vrsdkbase --anysdk

AppDelegate.cpp内にコードを追加して VRを有効にしていることに注目してください:

// VR_PLATFORM_SOURCES_BEGIN
auto vrImpl = new VRGenericRenderer;
glview->setVR(vrImpl);
// VR_PLATFORM_SOURCES_END

必要なVR SDKをインポートします。現時点では、 GearDeepoonGVROculus がサポートされています。

$ cocos package import -v -b SDK_NAME --anysdk

例:

# add the GearVR package
$ cocos package import -v -b gearvr --anysdk

# add the Deepoon VR package
$ cocos package import -v -b deepoon --anysdk

# add the Google VR package
$ cocos package import -v -b gvr --anysdk

# add the Oculus VR package
$ cocos package import -v -b oculus --anysdk


VRでのコンパイルと実行



IOS

If you are running iOS, you are limited to running the generic renderer on hardware only, you can use cocos compile cocos run as you typically would.



Android

あなたがAndroid上でVRを動作させ、ある特定のVR SDKを対象とするつもりであれば、 いくつか追加の手順を行う必要があります。 あなたのプロジェクトのルートディレクトリから switchVRPlatform.py を実行すれば全てOKです。 以下がC++、 JavaScript 、 LuaでGearVR をインストールする例です。:

## in C++

# first, install vrsdkbase
$ cocos package import -v -b vrsdkbase --anysdk

# second, install GearVR
$ cocos package import -v -b gearvr --anysdk

# third, switch to using GearVR
$ python vrsdks/switchVRPlatform.py -p gearvr
## in JavaScript and Lua

# first, install vrsdkbase
$ cocos package import -v -b vrsdkbase --anysdk

# second, install GearVR
$ cocos package import -v -b gearvr --anysdk

# third, switch to using GearVR
$ python frameworks/runtime-src/vrsdks/switchVRPlatform.py -p gearvr

Androidの場合も、行わなければならないいくつか特別な手順があります。 この手順はあなたの 実行プラットフォームに依存します。このドキュメントの最初の方にある表を参照してください。



GearVR、Deepoon VR、GVR の編集と実行

Android上でGearVRDeepoon VRGoogle VR を実行するには、コンパイルフラグを変更する必要があります。例:

# from a command-line
$ cocos run -p android --app-abi armeabi-v7a

# using Android Studio
$ cocos run -p android --android-studio --app-abi armeabi-v7a

実行時に GearVRDeepoon VR がクラッシュした場合は、 assets フォルダー内にOculus 署名ファイル があるかどうかを確認してください。



Oculus の編集

OculusVR はデスクトップ PC プラットフォーム用です。 これにはVisual Studio 2015が必要です。

まず、 liboculus.vcxproj をあなたのプロジェクト(oculus-sdk/oculus/proj.win32/フォルダー内)にインポートしてそれに対する参照を追加します。 :

次に、 CCVROculusRenderer クラスと CCVROculusHeadTracker クラス(oculus-sdk/ フォルダ内にあります)をインポートします。:

最後に、VR-SDK (.. rsdks)の検索パスをあなたのプロジェクトに追加します:

実行時に Oculus がクラッシュした場合は、Oculus Rift Runtimeをインストールしているか確認してください。