Unity サンプル統合

今回のリリースは 2018 年から 2020 年 3 月までのすべての Unity LTS バージョンをサポートしています。

警告

ベータバージョンはサポートしません。

注釈

Unity プラグインは、Unity バージョン 5.6 にも互換性があります。

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

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

サンプルの実行方法

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

Unity サンプルの実行方法

  1. クラスタ設定をクリーニングして、Unity サンプルを読み込みます。

    genvid-sdk setup # Create the local cluster.
    genvid-sdk clean-config # Remove any previously loaded sample configurations.
    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. サンプル Web サイトをロードする。

    Genvid MILE SDK にはサンプルサイトが含まれており、自分のストリームを視聴することができます。詳細は Web サンプル セクションを参照してください。

    サンプルサイトをロードするには、 samples/cube/web フォルダに移動し、以下のコマンドを実行します。

    py web.py build
    py web.py load
    
  3. プロジェクトにパッケージをインストールします。

    py unity.py prepare
    

    注釈

    使用するエンジンバージョンを指定できるようになりました。packagepreparebuild の各ステップで、希望するバージョンを指定する必要があります。

    プロジェクトを準備する場合、オプション -v または --version とエンジンのバージョン番号をビルドコマンドの末部につけます。

    例えば、Unity Engine Version 2019.3.6f1 を使用して準備するには、以下のように実行します。

    py unity.py prepare -v 2019.3.6f1
    

    お使いの Unity のバージョンが何らかの理由で見つからない場合は、特定バージョンの Unity 用の環境変数を手動で設定することができます。手動で設定するには、変数名を宣言します。: UNITYENGINEDIR_{version}

    例: UNITYENGINEDIR_2019.3.6f1

    注釈

    py unity.py prepare コマンドは、 Genvid のパッケージをプロジェクトに解凍します。 Unity 2020 バージョンでは、すべてのリソースを抽出する前に、プロジェクトスクリプトのコンパイルを試行します。 samples/cube/unity/app/Assets/Scripts のプロジェクト・スクリプトの中には、 Genvid パッケージに含まれる Genvid C# ライブラリの機能を参照しているものがあります。そのため、プロジェクトスクリプトをすぐにコンパイルすることはできません。Unity では、次のような警告ポップアップが表示されます。

    ../../../_images/Safe_Mode_Prompt.png

    Enter Safe Mode または Ignore を選択すると、 py unity.py prepare コマンドが解凍を進めます。必要なリソースが解凍されると、リンクが更新され、エラーが解決されます。

  4. プロジェクトと Web サイトを構築します。

    py unity.py build
    

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

    注釈

    使用するエンジンバージョンを指定できるようになりました。packagepreparebuild の各ステップで、希望するバージョンを指定する必要があります。

    プロジェクトをビルドする場合、オプション -v または --version とエンジンのバージョン番号をビルドコマンドの末部につけます。

    例えば、Unity Engine Version 2019.3.6f1 を使用して準備するには、以下のように実行します。

    py unity.py build -v 2019.3.6f1
    

    お使いの Unity のバージョンが何らかの理由で見つからない場合は、特定バージョンの Unity 用の環境変数を手動で設定することができます。手動で設定するには、変数名を宣言します。: UNITYENGINEDIR_{version}

    例: UNITYENGINEDIR_2019.3.6f1

    その他の利用可能なオプション:

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

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

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

    genvid-sdk start
    

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

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

ゲームスクリプトファイル

プロジェクトの Assets/Scripts フォルダに、Unity のサンプル用途の追加スクリプトファイルがあります。

Game.cs
このファイルは、カメラとシーンの変更を実行します。また、Genvid プレハブとシーンのさまざまな相互作用を実行します。
MovementCube.cs
このファイルは、シーン内のオブジェクトを移動します。また、関連する各ゲームオブジェクトの数と色を更新します。
CubeColor.cs
このファイルは、同一 class 内のキューブの色とキューブ名をフォーマットします。
CubeColorChanged.cs
このファイルは、JSON に必要な List に CubeColor をフォーマットします。
CubePopularity.cs
このファイルは、同一 class 内のキューブの数とキューブ名をフォーマットします。
CubeData.cs
このファイルは、同一 class 内のキューブの場所、名前、色、数、およびリーダー選択をフォーマットします。
Editor/Build.cs
このファイルは、さまざまな構成の Unity サンプルプロジェクトを Python スクリプトを使用してビルドします。