LoginSignup
9
7

More than 5 years have passed since last update.

Unity→TouchDesigner 画面キャプチャ送信覚書

Last updated at Posted at 2018-12-12

@_kiryoです。

Unity画面送信の基本

UnityとTouchDesignerをつなぐときにはkeijiroさんの下記を拝借します
keijiroさんgit

①表示したいカメラにspout(syphon)senderスクリプトを配置
②touchdesignerでsyphon/spout inのオペレーターを置く

これで簡単にTouchで受信できたのですが、解像度ががびがびでした。

綺麗に受信するチェックポイント

①syphon/spout inのcommonをuseinputにしているか
→custom resolutionではなく、useinputにして、受信したデータに依存するようにする

②spout(syphon)senderをカメラではないオブジェクトにアタッチする
→これがポイントでした。

keijiroさんのドキュメントをよく見れば(英語で)書いてあるのですが、
カメラにsenderをアタッチすると、自分が使っているディスプレイの解像度に依存してしまいます。
そのため、UnityのヒエラルキーにEventManagerなど適当なGameobjectを作って、そこにアタッチします。

render textureの設定

spout(syphon)senderをカメラ以外に設定すると、source textureという項目が現れます。aaaaa.png
unityには、テクスチャとして画面の情報をリアルタイムで保持するrender textureという機能があるようです。

①unityの画面で、マテリアルを作るときのように、assetファイルに新しくrender textureというファイルを作成します。

②作成したrenderのinspectorを表示させ、解像度をフルHDに設定します。

③表示させたいカメラオブジェクトをみると、カメラコンポーネントのinspectorに、target textureという項目があるので、そこに作成したrender textureを設定します。

Unityを再生した状態で、TouchDesignerも再生し、オペレーターの通信のトグルをonにすると、綺麗な解像度でUnityからの画面を受信することができます。

おしまい

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7