Home Artists Posts Import Register

Content

皆さん、こんにちは。

今回は、UnityからSpoutを使って、3Dキャラクターや舞台をShoostに簡単に送信する方法をご紹介します。ある程度のUnity操作を知っている方向けの内容になります。

Step 1: Spoutの導入

まずはじめに、UnityでのSpoutを使えるようにするため、Keijiro神の提供しているGitHubから"KlakSpout"をインストールします。インストール手順も、GitHubに書いてあります。

GitHub→ https://github.com/keijiro/KlakSpout

Scoped Registriesの場所は、Project Settings > Package Manager > Scoped Registriesにあります。

Step 2: UnityでSpoutの設定

Spoutのインストールが完了したら、Unity上でゲームオブジェクトを新規作成し、「Spout Sender」をコンポーネントとして追加します。

Spout Senderには、3つのキャプチャ方法が用意されています。今回は「Texture」を選択します。3種類の違いを知りたい方は、GitHubのページに説明がありますので、そちらを参照ください。

Step 3: RenderTextureの設定

Spout SenderのSource Textureには、「Render Texture」を使用します。

キャラクターと背景を別々の映像としてShoostで使用したいので、キャラクターと背景で別々のRender Textureを用意します。

簡単なやり方としては、キャラクターだけを映すカメラ背景だけを映すカメラ、の2つを用意して、それぞれ別々のRender Textureに設定します。

Culling Maskを使用して、キャラクターと背景のカメラで、どのオブジェクトを映すか選択します。

Target Textureは、ぞれぞれのRenderTextureになるようにします。

Spoutで送信される画像の解像度は、RenderTextureで設定した解像度になります。


他にも、キャラクターなど、透過背景で使いたいカメラは、Clear Flags設定を Solid Colorにして、Background Colorのα値を0にしておく必要があります。

この設定をしないと、キャラクターが透過背景にならない。

Step 4: Spout Senderの詳細設定

キャラクターと背景で、別々に送信をするので、Spout Senderのコンポーネントも2つ必要になります。Step 1 をもう一度繰り返して、Spout Senderをもう一つ用意します。

2つ用意が出来たら、それぞれの"Source Texture"に、Render Textureを登録します。

重要な点として、受信側での混乱を避けるため、"Spout Name"をそれぞれ異なる名前に設定すること。例えば、キャラクターは「Character」、背景は「Background」としておくと分かりやすいでしょう。

透過背景を使う場合は、Keep Alphaにチェックを入れます。今回はキャラクターのSpoutにはチェックが入ってます。

一通りの設定が終わると、Hierarchyはこのような感じになると思います。

Step 5: Shoostでの設定

最後に、Shoostの方で「Spout Capture」を有効にし、キャラクターと背景のレイヤーで、それぞれの画面をキャプチャすればOK!

以上がUnityからShoostへ、3Dキャラクターや背景を簡単に送信する方法でした。便利なので、ぜひ試してみてください!

Files

Comments

No comments found for this post.