Unity サンプル統合

このリリースは、Unity がサポートするすべての LTS バージョンと互換性があります。

警告

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

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

パッケージは /engine-integration/Unity/Genvid にあります。

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

サンプルの実行方法

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

Unity サンプルの実行方法

  1. プロジェクトにパッケージをインストールします。

    Unity アセットについてのドキュメント に従って、パッケージをプロジェクトにインポートしてください。

  2. プロジェクトのビルド

    エディタを使ってプロジェクトをビルドするには、Unity パブリッシングについてのドキュメント に従います。

  3. ゲームテンプレート(/templates/local/unity.nomad.tmpl/templates/cloud/unity.nomad.tmpl )内のゲーム実行ファイル名とパスを更新してください。実行ファイルの絶対パスを指定するか、 GENVID_UNITY_PROJECT_DIR 環境変数にプロジェクトのパス( /app フォルダを含むパス)を設定します。

  4. クラウドデプロイメントのみ

    ビルドコンテンツをパッケージ化します。

    genvid-sdk package app/build -d images -n unity_Cube
    
  5. クラスタ設定をクリーニングして、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.
    genvid-sdk load-config config/game.hcl --with-consul-template --job-template-dir templates/local # Load the Unity demo job.
    genvid-sdk load-config config/sample.hcl # Load the encoding configuration.
    genvid-sdk load-config config/events.json # Load the event definitions.
    
  6. クラウドデプロイメントのみ

    • コンフィギュレーションをロードする際にクラスタを指定する -c {cluster-id}

    • ゲームコンフィグをアップロードする際は、クラウドテンプレートを使用してください。

    • あらかじめ圧縮しておいたコンテンツをアップロードします。

    genvid-sdk -c {cluster-id} upload-images unity_Cube -d images --update-config
    
  7. サンプル Web サイトをロードする。

    Genvid MILE SDK には、自分のストリームの観客になることができるサンプルウェブサイトが含まれています。詳しくは Web サンプル の項を参照してください。

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

    py web.py build
    py web.py load
    

    クラウド展開の場合。

    py web.py build-cloud
    py web.py -c {cluster-id} upload-images --update-config
    py web.py -c {cluster-id} load
    
  8. 必要な Genvid サービスをすべて開始して、ゲームを起動します。

    genvid-sdk start
    

    クラウド展開の場合。

    genvid-sdk -c {cluster-id} start
    
  9. genvid-sdk open web コマンドを使用して、Web サイトを表示します。

    クラウド展開の場合。

    genvid-sdk -c {cluster-id} open web
    
  10. 終了したら、 genvid-sdk stop コマンドを使用してスタックを停止します。

    クラウド展開の場合。

    genvid-sdk -c {cluster-id} 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 スクリプトを使用してビルドします。