Unity サンプル統合

このリリースは、Unity バージョン 5.6、2017.02、2018.3、2019.1 に対応しています。

Unity プロジェクトに Genvid SDK を統合する手順はシンプルです。必要な 3 つの DLL を含む Unity パッケージ、スクリプト、利用するためのプレハブを用意しました。

このセクションでは、独自のサンプルを使用して、API をプロジェクトに組み込む方法とその使用方法について説明します。Unity サンプルは、D3D11 チュートリアル用サンプルアプリケーション に似ており、同じ機能があります。

サンプルの実行方法

このガイドは、お使いのシステムが Genvid Tutorial サンプルおよび、Genvid サービスを実行できるように正しく設定されていることを前提としています。サービスの実行については、ローカルクラスタの開始 を参照してください。

Unity サンプルの実行方法

  1. クラスタ設定をクリーニングして、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.
    
  2. プロジェクトにパッケージをインストールします。

    py unity.py prepare
    
  3. プロジェクトと Web サイトを構築します。

    py unity.py build
    

    これにより、 samples/unity/package の配下で利用可能な genvid-plugin.unitypackage をインポートし、 samples/unity/app の配下で利用可能な Unity プロジェクトがビルドされます。

    利用可能なオプション:

    • -b : 32-bit でビルドする
    • -d : デバッグでビルドする

    プロジェクトを開始した後、 Genvid メニューからビルドして、手動でインポートを行うことも可能です。

  4. 必要な Genvid サービスをすべて開始して、ゲームを起動します。

    genvid-sdk start
    

    genvid-sdk open web コマンドを使用して、Web サイトを表示します。

    ストックを停止するには、 genvid-sdk stop コマンドを使用します。

Genvid Stack を実行しないでテストする

Genvid のスタックをアクティブにしないでゲームを起動すると、エラーが発生します。スタックを起動させない状態でエディタでのテストが必要な場合、エディタでは Genvid SDK を直接無効にしてください。

  1. GenvidSessionManager オブジェクトを選択します。
  2. Activate SDK チェックボックスをクリックして無効化します。
  3. 次のシーンで、GenvidSessionManager オブジェクトを必要に応じて、無効化します。

Genvid Unity パッケージ

samples/unity/package/genvid.unitypackage ファイルには、Genvid SDK をゲームに統合するために必要なすべてが含まれており、Genvid Stack を制御するためのエディタツールが追加されます。

パッケージの内容

Plugins/x86/genvid.dllPlugins/x64/genvid.dll
Windows (32 ビットと 64 ビット)で利用可能な主要 ネイティブ DLL。Genvid サービスを統合するために必要な DLL です。
Plugins/GenvidSDKCSharp.dll
ネイティブ SDK の C# ラッパーです。 genvid.dll と完全に同一の機能を提供し、 SDK の使用は Unity スクリプトにより可能です。
Plugins/x86/GenvidPlugin.dllPlugins/x64/GenvidPlugin.dll
ビデオキャプチャの最適化のためグラフィックデバイスへの直接アクセスを実現する Unity ネイティブ プラグイン (32 ビットと 64 ビット)です。 Genvid との統合は必須ではありませんが、Genvid SDK へのビデオ転送効率の向上を可能にします。
Plugins/Genvid/Editor/GenvidRESTCSharp.dll

Unity Editor で Genvid Stack の制御を可能にする ツールボックス REST API のラッパーです。2 つの外部のサードパーティ製ライブラリである RESTCSharp LibraryNewtonsoft JSON.Net Library に依存します。

バージョン 8.0 の Newtonsoft ライブラリを使用して、JSON.Net for Unity の資産を置き換えることができます。

Genvid/ScriptsGenvid/Prefabs/Genvid

このフォルダに Genvid の統合を簡素化するスクリプトとプレハブが含まれています。サンプルの統合で使用しますが必須ではありません。お使いのプロジェクトで置き換え可能です。

これらのプレハブとスクリプトについては、 Unity 用 Genvid SDK プレハブ セクションで詳述します。

Genvid/Editor
このフォルダには、Unity Editor で Genvid Stack を制御するためのツールをいくつか追加するスクリプトが含まれています。メニュー選択の Windows ‣ Genvid 配下の Unity のメニューから利用可能な新規 Genvid パネルを作成します。これらのツールは必須ではありませんが、 ローカル環境クラウド環境 でのテストに役立ちます。

パッケージのビルド

パッケージソースは samples/unity/package 配下で利用可能です。完全な Unity のパッケージをビルドするために package.py スクリプトを利用できます。Unity パッケージのビルドには、Microsoft C++ コンパイラをインストールする必要があります。

警告

Unity インストーラーは、既定では C# ツールをのみインストールします。Unity パッケージを構成するには、C++ サポートを別途インストールする必要があります。

パッケージのインストール

このサンプルパッケージのインストールには、Python スクリプトを使用しています。(py unity.py prepare) Unity プロジェクトに Genvid SDK を手動で追加することもできます。

  1. Unity Editor でプロジェクトを開きます。

  2. Assets ‣ Import Package ‣ Custom Package を選択します。

  3. /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 スクリプトを使用してビルドします。