見出し画像

Unity環境下にキャプチャーボードからの映像を表示したい話

vroidモデルを作ったしunity環境下で3D空間作って配信したい!
そんな気持ちになったので色々試行錯誤する話

↑3Dモデルになったしこういうやつをやってみたいなって思ったんですよ。
まずはunity環境を構築してキャラモデルを動作させるところから

できた。
先人達が色々なツールを作ってくれるので恩恵にあやかっていきます。
TDPT(トラッキング、VMC送信)
Vseeface(VMC受信、OSC送信)
EVMC4U(OSC受信、unity内キャラモデル制御)
unity(なんやかんやあれこれ)
OBS(録画、配信)
こんな感じの構造、使い方は各自で説明書を読んでください。

キャプチャーボードからの映像をunity内に表示する

できた。
ウェブカメラの映像を取得、表示するスクリプトでできました。
ちなみに私のプログラミング能力はハローワールドを書けないレベルです。
しょうがないじゃん、清掃員なんだから。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class WebCam : MonoBehaviour
{
    private static int INPUT_SIZE_X = 1920;
    private static int INPUT_SIZE_Y = 1080;
    private static int FPS = 60;

    RawImage rawImage;
    WebCamTexture webCamTexture;

    // Start is called before the first frame update
    void Start()
    {
        WebCamDevice[] devices = WebCamTexture.devices;
        this.rawImage = GetComponent<RawImage>();
        this.webCamTexture = new WebCamTexture(devices[1].name,INPUT_SIZE_X,INPUT_SIZE_Y,FPS);
        this.rawImage.texture = this.webCamTexture;
        this.webCamTexture.Play();
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

↑1920×1080、60FPSで取得・表示フレーム毎に更新しますよ的な内容だと思う。
※よくわかってない。
デバイス番号が1番なのは私のPC環境内での話、OBSでのドロップダウンリストの順番にデバイス番号が振られているみたい

で、音が出ない。
というか音声入力を取得するためのデバイスがPC上に表示されない。
結論から言うとキャプチャーボードによって映像入力デバイスと音声入力デバイスが別個に表示されるものとされないものがある。

いままでGC550を使っていたのですが、これは単一のデバイスとして認識されるみたい。
なので映像を取得して、音声を取得しようとデバイスにアクセスすると…

挙動がおかしくなる、こんなふうに。
いやなんかワタシ、パソコン、チョットワカル人だったらなんやかんややってどうにかするのかもしれないけど。
私にはわからないので撤退します。

とりあえず格安キャプチャーボードを確保してみる。
マイニューギアー
2000円だし人柱になるにはお手頃なお値段ねー!

できた。
できたんだ。
なんのことはない相性問題だったんだ。
ぽえー。

あとはお家っぽいアセットを買ってなんやかんややってRFA配信でもしたい。する。
おつかれさまでした!

いいなと思ったら応援しよう!