UnityからShoostに映像を送信する 2024/06/17

ねずぐれー
·
公開:2024/6/17

はじめに

Shoostへ3Dキャラクターを送信する方法は下記記事に記載されているのですが、Unityの操作で不明な箇所があったため、まとめます。

使用ツール・素材

問題

  • Spoutのインストール方法がわからない

  • Spout SenderのCapture methods:Textureを使ってShoostへ映像を送る方法がわからない

解決方法

Spoutのインストール方法

Package Manager > Scoped RegistriesにてName,URL,Scope(s)を設定した際の画面キャプチャ
  • Edit > Project Settings を開く

  • Package Manager > Scoped Registriesを選択

    • Name,URL,Scope(s)を設定。設定値は下記

    • Saveを押下

    • Project Settingsを閉じる

  • Window > Package Manager を開く

    • Packages: My Registries を選択

    • Package Managerウィンドウの右上にある、検索ボックスで「KlakSpout」を検索

    • Keijiro Takahashi > KlakSpout を選択

    • 検索ボックス直下のInstallボタン を押下

    • InstallボタンがRemoveボタンに変わったことを確認し、Package Managerを閉じる

SpoutのCapture methods:Textureの設定方法

  • 下記コンポーネント、テクスチャを2種類ずつ作成する

    • Render Texture

    • Camera

    • Spout Sender

  • Render Textureの作成

キャラクター用のRender TextureのInspectorの画面キャプチャ
3D背景用のRender TextureのInspectorの画面キャプチャ
  • 3Dキャラクター用、3D背景用のRender Textureを作成する

    • Assets上で右クリック > Create > Render Texture を選択するとRender Textureが作成される

    • Sizeの値は1920×1080を設定

  • Cameraの作成

3Dキャラクター用のCameraのInspectorの画面キャプチャ
3D背景用のCameraのInspectorの画面キャプチャ
  • 3Dキャラクター用、3D背景用のCameraを作成する

    • Hierarchy上で右クリック > Camera を選択するとCameraが作成される

    • (3Dキャラクター用のCameraのみ)ClearFlagsはSolid Colorに変更し、BackgroundでR,G,B,Aすべて0を設定

    • Target Textureは3Dキャラクター用、3D背景用のRender Textureを設定

    • Culling Maskで3Dキャラクターのみ映す設定、3Dキャラクター以外を映すよう設定

      • Culling Maskに3Dキャラクターのみを映す設定値(Character)がない場合は下記操作を行う

        • Edit > Project Settings を開く

        • Tags and Layers > Layersを選択

        • 任意のUser LayerへCharacterを設定する

          Project Settings > Tags and Layers > LayersにてCharacterを設定した画面キャプチャ
        • 3DキャラクターをHierarchyに配置

        • 3DキャラクターのInspectorのLayerからCharacterを選択することで、Culling Maskで3Dキャラクターのみ映す設定が行える

          3DキャラクターのInspectorのLayerからCharacterを選択した際の画面キャプチャ

  • Spout Senderの作成

    3Dキャラクター用のゲームオブジェクトにSpout Senderを設定した際の画面キャプチャ
    3D背景用のゲームオブジェクトにSpout Senderを設定した際の画面キャプチャ
  • 3Dキャラクター用、3D背景用のSpout Senderを作成する

    • Hierarchy上で右クリック > Create Empty を選択するとGameObjectが作成される

    • Add ComponentでSpout Senderを追加

    • Spout NameはShoostで表示される値のため3Dキャラクター用、3D背景用で見分けられる値を設定する

    • Capture MethodはTextureを設定

    • Source Textureは3Dキャラクター用、3D背景用のRender Textureを設定

ShoostでSpout Captureを行う

  • Settingsタブ > Spout Settings > Spout Capture をFalseからTrueへ変更

  • Leyerタブ > LeyerセクションでSpout Capture を選択すると、Unityで設定したSpout Senderが選択できる

おわりに

今までは別アプリで3Dキャラクターの静止画を作成しShoostに読み込ませていたのですが、Unity経由で3Dキャラクターや3D背景の映像を送れるようになったことでポーズや表情を気軽に変更できるようになりました。

とても便利なので、ぜひ使ってみてください。

@82cb82b8
82cb82b882ae82ea815b