ビデオ入力(Video Input)

動画プレイヤーやカメラなどが出力する RenderTexture を UV0 で引き、 本体がライティングまで終えた色へ Unlit として合成します。 動画の取得・再生・同期は行わず、Unity 側で更新されるテクスチャを表示する部分だけを 受け持ちます。静止画の Texture2D も同じように指定できます。

入力テクスチャの色帯とアルファ勾配を表示した状態
入力テクスチャの色帯とアルファ勾配を表示した状態
入力映像を色付け・反転し、元の色へ半透明で重ねた状態
入力映像を色付け・反転し、元の色へ半透明で重ねた状態

接続

  1. 動画プレイヤー等の出力先に RenderTexture を設定する
  2. 同じ RenderTexture を Input Texture に設定する
  3. Amount を上げる

入力先の機器に応じて上下が逆になる場合は Flip Vertically、鏡像にする場合は Mirror Horizontally を使います。映像の縦横比は自動判定しません。 マテリアルの Tiling / Offset で、使用する UV 領域と余白を調整してください。

プロパティ説明
Amount入力映像への置き換え量。0 で無効、1 で完全に置き換える
Input Texture動画プレイヤー等が更新する RenderTexture、または静止画
Tiling / Offset入力に使う UV0 の範囲。範囲外は端の色で固定する
Input TintRGB を入力へ掛ける色。アルファは合成率へ掛かる。HDR 値を使用可能
Brightnessシーンのライティングと無関係な入力映像の明るさ
Mirror Horizontally / Flip VerticallyUV の左右・上下反転

実際の合成率は Amount × Input Tint のアルファ × 入力テクスチャのアルファ です。 入力映像は本体の最終色へ合成するため、シーンのライトや影では暗くなりません。 元マテリアルの透過値は変更しないので、Cutout の形は本体の Base Texture 側で決まります。

このモジュールはドット絵風とブラウン管・グリッチの前にかかります。 入力映像を合成してからドット絵化し、最後に走査線や映像の乱れを重ねる順です。 ForwardAdd では入力映像をライト数だけ足さず、元の加算光だけを合成率ぶん減衰します。

Amount が 0 のときは入力テクスチャをサンプリングしません。動画を止める処理では ないため、再生やネットワーク同期の負荷は動画プレイヤー側で制御してください。