16
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OBS向け放送プレビューVRオーバーレイをつくる

Last updated at Posted at 2018-12-05

#はじめに

この記事はVTuber Tech #1 Advent Calendar 2018の6日目の記事です。
昨日の記事は @kaikiofkaiki さんによる記事でした。

こんにちは。クレウス(@kleus_balut )です。
VRChatユーザーで、最近はVIVEBatteryInfoというVRオーバーレイアプリケーションを開発しています。
VRオーバーレイの需要が結構ありそうなので記事化してみました。
OBSの放送プレビューに限らず、応用すれば色々と使えると思いますので是非トライしてみてください。

アドベントカレンダーの投稿は初めてですので、色々と至らない点があると思いますがよろしくお願いします。

#つくるもの

私自身がVTuber的な配信をした際に「あるとよかったもの」を作りました。

2aaf43cb0e37486c26c7e5055d8271c6.png

こんな感じで、左腕とHMD上に放送映像のプレビューがでます。

以前、歌舞伎座.tech#15のLTでバーチャルキャスト登壇した際に作ったものを単独で動かせるようにしました。

本アドベントカレンダー2日目のあきら(@sh_akira )さんの記事 UniVRM+SteamVR+Final IKで始めるVTuber でVTuberシステムを構築された方にも有用に思います。

#前提知識など
・Windows10(64bit)であること
・Unityの基本操作が行えること
・unitypackageの扱い方がわかること
・OBS Studioがインストールしてあること

#使用コンポーネントとダウンロード先
下記を予めダウンロードしておいてください
Unity 2017.4.15f1Unity 2017.xタブから選択してダウンロードしてください
SteamVR 2.0.1
uWindowCapture 0.1.2
EasyOpenVROverlayForUnity 0.23 ※配布PreFabに同梱しているのでダウンロード不要です。

#配布
ある程度設定済のPreFabです。
https://github.com/kleusbalut/OBS_Overlay/releases

CC0ライセンスです (EasyOpenVROverlayForUnity 0.23同梱)

#手順

###プロジェクトの作成とコンポーネントのインポート
Unity 2017.4.15f1で新規プロジェクトを作ります。名前は「OBS_Overlay」など適当に。

SteamVR 2.0.1をAssetStoreからインポートします。
※インポート後にプロジェクト設定の変更を要求されますが、そのままAccept Allを選択して設定を適用してください。

uWindowCapture 0.1.2をインポートします。

###Unity設定の変更

####VRオーバーレイアプリケーション用の設定

#####Player Settings
メニューからFile - Build Settingsを開いてPlayer Settingsを開き、インスペクタ上のXR SettingsVirtual Reality Supportedのチェックを外します。
4dd6047795e29edec1624485ebe1eda9.png
※紛らわしいのですが、VRオーバーレイアプリケーションを作る際はこの設定が必要です。
 このチェックを入れたままだと、VRChatなどと同様に単一のVRアプリケーションとして起動してしまいます。

#####Unity Preferences
メニューから Edit - Preferences...を選択してUnity Preferencesを開きます。
SteamVRタブのAutomatically Enable VRのチェックをはずします。
af9cc4e522526284e050b6ffa2d757de.png

###OBS_Overlayのインポート
OBS_Overlayをインポートします。
OBS_OverlayのPreFabHierarchyにドラッグ&ドロップします。

#####オーバーレイ設定の変更
デフォルトで左腕とHMD右下に表示されるようになっています。
74fcfd8c2f9c73d481a376d3607f2b3f.png
どちらか片方が不要な方はLeftHandOverlayHMDOverlayのGameObject自体を無効にしてください。

ここまで設定すればUnity側の設定は完了しています。

###OBSの起動と設定

お使いのOBS Studioを起動します。
※私の環境では22.0.2を使用しています

プレビュー画面を右クリックしてウィンドウ プロジェクター (プレビュー)を選択します。
放送のプレビュー画面が別ウィンドウに出てきます。

###Unity上で実行する

OBSのウィンドウ プロジェクター (プレビュー)が出ている状態でPlayボタンを押します。
b048fe1559c9e23e315a4bee45f4fb10.png
HMDを被り、しばらくしたら放送のプレビューが表示されていることを確認してください。
※この時、HMDやコントローラがトラッキングされていないと非アクティブと判断されて画面更新が行われない事があります。

以上でOBS向けの放送プレビューVRオーバーレイの作成は完了です。

###カスタマイズ

これらのコンポーネントを使用すると、OBSに限らず、Windows上で動く様々なウィンドウを取り込んでVRオーバーレイにすることができます。

####キャプチャするウィンドウを変更する
Hierarchy上のWindowCaptureInspectorを開きます。
Uwc Window Texture (Script)Target Partial Window Titleを好みのウィンドウ名に変更すると、そのウィンドウをキャプチャできます。
39c1013554306e881df4f987b756b4d1.png

####オーバーレイの位置や大きさを変更する
Hierarchy上のLeftHandOverlayHMDOverlayInspectorを開きます。
Easy Open VR Overlay For Unity (Script)Transformの値やSettingの値を好みに変更します。
DeviceTrackingの値を変更すると、オーバーレイが追従するデバイス(HMD、コントローラ、トラッカー等)を変更できます
61a5ee4c5b63bb03b7aa7cd12ba4a452.png

数値での変更はわかりにくいので、Playした状態でSceneタブを開き、上記の値を変更するとVRを起動した状態でリアルタイムで変更できます。
0cc0984738446d635fdf683ffbc9deee.png
ただし、終了すると値が元に戻ってしまうので、位置が決まったら、コンポーネントのコピー&ペーストで値を反映させてください。

コンポーネントのコピー&ペースト方法は下記記事が参考になります。
参考:【便利な基礎 for Unity】Unity コンポーネントのコピー&ペースト

#おわり

以上、「OBS向け放送プレビューVRオーバーレイをつくる」でした。

明日はえむにわ(@m2wasabi)さんの「VTuberツール作成役に立ちそうな自作Unityアセット棚卸し祭り」です。

VTuber Tech Advent Calendar 2018 #1: https://qiita.com/advent-calendar/2018/vtuber
VTuber Tech Advent Calendar 2018 #2: https://qiita.com/advent-calendar/2018/vtuber2

16
9
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
16
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?