Unity サンプル統合¶
このリリースは、Unity バージョン 5.6、2017.02、2018.3、2019.1 に対応しています。
Unity プロジェクトに Genvid SDK を統合する手順はシンプルです。必要な 3 つの DLL を含む Unity パッケージ、スクリプト、利用するためのプレハブを用意しました。
このセクションでは、独自のサンプルを使用して、API をプロジェクトに組み込む方法とその使用方法について説明します。Unity サンプルは、D3D11 チュートリアル用サンプルアプリケーション に似ており、同じ機能があります。
In This Section
サンプルの実行方法¶
このガイドは、お使いのシステムが Genvid Tutorial サンプルおよび、Genvid サービスを実行できるように正しく設定されていることを前提としています。サービスの実行については、ローカルクラスタの開始 を参照してください。
Unity サンプルの実行方法
クラスタ設定をクリーニングして、Unity サンプルを読み込みます。
genvid-sdk setup # Make sure the local cluster is created. genvid-sdk clean-config # Clean old config in case of existing cluster. genvid-sdk load-config-sdk # Configure the basic services for the SDK. py unity.py load # Load jobs and configuration for the Unity demo.
プロジェクトにパッケージをインストールします。
py unity.py prepare
プロジェクトと Web サイトを構築します。
py unity.py build
これにより、
samples/unity/package
の配下で利用可能なgenvid-plugin.unitypackage
をインポートし、samples/unity/app
の配下で利用可能な Unity プロジェクトがビルドされます。利用可能なオプション:
-b
: 32-bit でビルドする-d
: デバッグでビルドする
プロジェクトを開始した後、 Genvid メニューからビルドして、手動でインポートを行うことも可能です。
必要な Genvid サービスをすべて開始して、ゲームを起動します。
genvid-sdk start
genvid-sdk open web
コマンドを使用して、Web サイトを表示します。ストックを停止するには、
genvid-sdk stop
コマンドを使用します。
Genvid Stack を実行しないでテストする¶
Genvid のスタックをアクティブにしないでゲームを起動すると、エラーが発生します。スタックを起動させない状態でエディタでのテストが必要な場合、エディタでは Genvid SDK を直接無効にしてください。
GenvidSessionManager
オブジェクトを選択します。Activate SDK
チェックボックスをクリックして無効化します。- 次のシーンで、
GenvidSessionManager
オブジェクトを必要に応じて、無効化します。
Genvid Unity パッケージ¶
samples/unity/package/genvid.unitypackage
ファイルには、Genvid SDK をゲームに統合するために必要なすべてが含まれており、Genvid Stack を制御するためのエディタツールが追加されます。
パッケージの内容¶
Plugins/x86/genvid.dll
とPlugins/x64/genvid.dll
- Windows (32 ビットと 64 ビット)で利用可能な主要 ネイティブ DLL。Genvid サービスを統合するために必要な DLL です。
Plugins/GenvidSDKCSharp.dll
- ネイティブ SDK の C# ラッパーです。
genvid.dll
と完全に同一の機能を提供し、 SDK の使用は Unity スクリプトにより可能です。 Plugins/x86/GenvidPlugin.dll
とPlugins/x64/GenvidPlugin.dll
- ビデオキャプチャの最適化のためグラフィックデバイスへの直接アクセスを実現する Unity ネイティブ プラグイン (32 ビットと 64 ビット)です。 Genvid との統合は必須ではありませんが、Genvid SDK へのビデオ転送効率の向上を可能にします。
Plugins/Genvid/Editor/GenvidRESTCSharp.dll
Unity Editor で Genvid Stack の制御を可能にする ツールボックス REST API のラッパーです。2 つの外部のサードパーティ製ライブラリである RESTCSharp Library と Newtonsoft JSON.Net Library に依存します。
バージョン 8.0 の Newtonsoft ライブラリを使用して、JSON.Net for Unity の資産を置き換えることができます。
Genvid/Scripts
とGenvid/Prefabs/Genvid
このフォルダに Genvid の統合を簡素化するスクリプトとプレハブが含まれています。サンプルの統合で使用しますが必須ではありません。お使いのプロジェクトで置き換え可能です。
これらのプレハブとスクリプトについては、 Unity 用 Genvid SDK プレハブ セクションで詳述します。
Genvid/Editor
- このフォルダには、Unity Editor で Genvid Stack を制御するためのツールをいくつか追加するスクリプトが含まれています。メニュー選択の ローカル環境 と クラウド環境 でのテストに役立ちます。 配下の Unity のメニューから利用可能な新規 Genvid パネルを作成します。これらのツールは必須ではありませんが、
パッケージのビルド¶
パッケージソースは samples/unity/package
配下で利用可能です。完全な Unity のパッケージをビルドするために package.py スクリプトを利用できます。Unity パッケージのビルドには、Microsoft C++ コンパイラをインストールする必要があります。
警告
Unity インストーラーは、既定では C# ツールをのみインストールします。Unity パッケージを構成するには、C++ サポートを別途インストールする必要があります。
パッケージのインストール¶
このサンプルパッケージのインストールには、Python スクリプトを使用しています。(py unity.py prepare
) Unity プロジェクトに Genvid SDK を手動で追加することもできます。
Unity Editor でプロジェクトを開きます。
を選択します。
/samples/unity/package
フォルダの genvid.unitypackage をクリックします。
ゲームスクリプトファイル¶
プロジェクトの Assets/Scripts
フォルダに、Unity のサンプル用途の追加スクリプトファイルがあります。
Game.cs
- このファイルは、カメラとシーンの変更を実行します。また、Genvid プレハブとシーンのさまざまな相互作用を実行します。
MovementCube.cs
- このファイルは、シーン内のオブジェクトを移動します。また、関連する各ゲームオブジェクトの popularity (数) と色を更新します。
CubeColor.cs
- このファイルは、同一 class 内のキューブの色とキューブ名をフォーマットします。
CubeColorChanged.cs
- このファイルは、JSON に必要な List に CubeColor をフォーマットします。
CubePopularity.cs
- このファイルは、同一 class 内のキューブの popularity (数) とキューブ名をフォーマットします。
CubeData.cs
- このファイルは、同一 class 内のキューブの場所、名前、色、popularity (数)、およびリーダー選択をフォーマットします。
Editor/Build.cs
- このファイルは、さまざまな構成の Unity サンプルプロジェクトを Python スクリプトを使用してビルドします。