OBSでカーソル追従『 Zoom to Mouse 』(導入方法+使い方)
OBS Studioでキャプチャ対象のソース画面を拡大しマウスカーソルを追跡してくれるスクリプトです。LuaスクリプトファイルをOBSに読み込ませるだけで簡単に導入できます。
ビデオ会議・ウェブビナー・オンライン講義・ライブ配信で役立つとても便利なスクリプトです。アプリケーションの操作方法を説明したり、画面操作を相手に見せたい時に本当に大活躍します。作業配信をなさるYouTuberさんにもオススメしたいスクリプトです。
<はじめに>
こんな素晴らしいスクリプトを無料で公開してくれた開発者さんと開発メンバーの皆さんに謝辞謝辞謝辞!!ありがとう!!!ついでにOBSもありがとう!!!
<導入手順>
⭐GitHubでスクリプトをゲット!
⭐フォルダにスクリプトを保存!
⭐OBSでスクリプトを読み込む!
⭐ショートカットを設定します!
⭐対象ソースを選択して終わり!
⭐1. GitHubでスクリプトをゲット!https://github.com/BlankSourceCode/obs-zoom-to-mouse
上記リンク先で「obs-zoom-to-mouse.lua」をダウンロードします。
⭐2. フォルダにスクリプトを保存!
お好きなフォルダにダウンロードしたファイルを置いて下さい。
私は「C:\Program Files\obs-studio\data\obs-plugins\frontend-tools\scripts」に置きました。
⭐3. OBSでスクリプトを読み込む!
「ツール(T) → スクリプト」と選択し「スクリプト管理画面」を開きます。
「+スクリプトを追加」でダウンロードしたファイルを開きます。
⭐4. ショートカットを設定!
「ファイル(F) → 設定(S)」と選択し「ホットキー」で以下のショートカットを設定します。お好みのkeyに設定して下さい。
・Toggle zoom to mouse(ズームイン/ズームアウト)
・Toggle follow mouse during zoom(カーソル追従の停止/再開)
⭐5. 対象ソースを選択
「ツール(T) → スクリプト」と選択し「スクリプト管理画面」を開き、「Refresh zoom sources」で再読み込みをした後に「Zoom Source」でカーソル追従をしたいソースを選択します。
※通常は「画面キャプチャ(モニタキャプチャ)」ソースを選択します。「ウィンドウキャプチャ」などを選択する場合は「Allow any zoom source」に☑チェックを入れて全てのソースを選択可能にする必要があります。
※カーソルサイズをWindows設定の「簡単操作 > マウスポインタ―」で大きくしてるのにOBSでキャプチャすると「小さい」って人は「画面キャプチャ」の「キャプチャ方法」を「windows10(xxxx)」とか「windows11(xxxx)」に変更してみて下さい。
<使い方>
「Zoom to Mouse」スクリプトはショートカットで操作します。
⭐Toggle zoom to mouse(ズームイン/ズームアウト)
設定したショートカットでズームインすると自動的にカーソル追従が始まります。再度ショートカットを押下すればズームアウトされカーソル追従も終了します。
※ズームしたまま、別シーンに切り替えるとスクリプトフィルタが不安定になる事があるのでご注意ください。ズームアウトしてからシーン切り替え・OBS終了を行いましょう。
⭐Toggle follow mouse during zoom(カーソル追従の停止/再開)
ズームインした状態でカーソル追従を止めたい時に利用します。再度ショートカットを押下すればカーソル追従が再開されます。
<設定例>
かなり直感的に設定できるので迷うことは無いと思います。ここでは設定によってどの様にカーソル追従の動作が変化するかだけ見て頂ければと思います。
<設定項目の説明>
各設定項目についてザックリ説明を記します。本当にザックリです。間違ってたらごめんなさい。
⭐zoom Source
カーソル追従をしたいソースを選択できます
⭐Refresh zoom sources(再読み込み)
「ソース欄」のドロップダウンメニューが更新されます
※ソースを選択する前に必ずクリックしましょう
⭐Zoom Factor(拡大倍率)
どれくらいズームするかを設定できます
※値が高いほど拡大が強くなります
⭐Zoom Speed(拡大速度)
ズームイン/ズームアウトする際の速度を設定できます
※値が高いと一瞬で拡大されます
⭐Auto follow mouse
ズームインした後に自動でカーソル追跡がはじまります
※最初から☑チェックが入ってます
⭐Follow outside bounds
対象ソースの外にカーソルがあったとしてもカーソル追跡を続けます
⭐Follow Speed(追従速度)
カーソルを追う速度を設定できます
※値が高いと一瞬でカーソルに追いつきます
⭐Follow Border(追従感度)
カーソル追従が再開されるソースの端からの距離 (%)
※値が高いとカーソルを少し動かしただけでカーソル追跡が開始されます
⭐Lock Sensitivity(ロック感度)
分かりませんごめんなさい
⭐Auto Lock on reverse direction
カーソル追跡中にカーソルを逆方向に動かすとカーソル追跡が一時的に停止します
⭐Allow any zoom source
全てのソースを選択可能にする
※ズームソースとして任意のソースが選択できるようになります。ソースによっては手動でソースの位置を設定する必要があります。
⭐Set manual source position
手動でモニタサイズや範囲指定を行います。モニタ複製や複数モニタで利用する場合に使用します(後述)
⭐More Info
このスクリプトについて説明が表示されます
⭐Enable debug logging
デバッグログを有効にします。スクリプトがデバッグログにスクリプトの診断メッセージを出力します(これはデバッグやgithubでの報告の際に役立ちます)。
<複数モニタの場合>
現状の「Zoom to Mouse」スクリプトは、メインモニタ内でのカーソルの動きのみを追跡します。サブモニタでカーソル追従を動作させるためには、設定項目の「Set manual source position」でサブモニタの位置情報を入力する必要があります。
※「モニタ拡張」、つまり一枚一枚のモニタに別々の映像を表示している場合について説明してます。いわゆる一般的なマルチディスプレイ構成。全てのモニタが同じ解像度という前提です。モニタ配置が少しズレていたり解像度が異なる場合、設定が複雑になるので説明を省きます。
※「モニタ複製」。つまりモニタ(1)とモニタ(2)にまったく同じ映像を表示しているパターン。こちらについても設定が複雑になるので説明を省きます。なおこの場合2枚のモニタが1枚のモニタとして認識されます。
⭐Set manual source position
☑チェックを入れると8つの入力フィールドが表示されます。利用しているモニタの配置に合わせ、画像の通り「X」と「Y」に値を入力してください。
例)サブモニタでカーソル追従を実行したい。サブモニタはメインモニタの左に配置してる。といった場合は「X=-1920, Y=0」と入力すればOK!
<日本語化とショートカット追加>
後日、書ければ書きます。作成したらリンク貼ります。。。
ズームインとズームアウトのショートカットを追加すると『Advanced Scene Switcher』で画像の様な『オン/オフDockボタン』が作れます。
<スクリプトを削除する方法>
「ツール(T) → スクリプト」と選択し「スクリプト管理画面」を開き、削除したいスクリプトを選択。🗑️ゴミ箱マークをクリックして削除してください。「Zoom to Mouse」のスクリプトファイルを置いたフォルダから「obs-zoom-to-mouse.lua」を消去すれば削除完了です。
更新履歴
🔹2023年12月18日:記事を公開。公開後、全体的に記事を修正。
あとがき
記事に誤りがあったら教えて頂けるとありがたいです。気付き次第修正します。Zoom to Mouseに関して不明点があればXでDMお願いします。分かる範囲でご案内しますです(フランクな文章でおねしゃっす!)。
改造したソースについて。改造箇所をNoteに投稿して良いものか迷っております。本来であればGitHubでフォークして公開するのが正しいのでしょうが、、、なにせ恥ずかしい。そして英語が怖い。でも日本語で使えたら便利だし、何よりトグル式のショートカット以外にズームイン/ズームアウトそれぞれ単独のショートカットを付けるとAdvanced Scene Switcherなどでオン/オフDockボタンが作成できるので、めっちゃ便利なんすよね。どうしたものか。などとぼやきつつ、この調子だと多分、おそらく、きっと公開しない気がする。
OBSのLuaスクリプトについて。OBSフォーラムを拝見すると便利なスクリプトがいっぱい公開されてます。美顔スクリプト、ストップウォッチ/カウントダウンタイマー、カメラ出力安定化スクリプトなどなど。いや~凄いです。