縦入力の文字

やはりこの「縦」入力は、vMix(GT Title Designer)だと作成できないんですよね。まぁそれはオーストラリアのソフトだから諦めもつきます。なので、PhotoshopでPNGを作成してとなるのですが、長い文章ですとこれを左から右へスクロールさせたかったりするわけです。横文字のスクロールであれば、タイトルから「Ticker」を選択すれば作成できるのですが、ここで動かせるのはあくまでもテキストとなります。

というわけで、縦文字(画像)をスクロールさせるには、PanXとなります。しかし、Panに入力できる数値は最大-2~2までとなります。つまり、FullHDが出力サイズとなっている場合、3840pxの横幅が最大となります。ただ・・・。PanXに入力できる数値としては-2~2までなのですが、実はもっと大きい数字にしてしまうことはできるのですが…

画像の準備

まずはPhotoshopで右スクロールさせる素材を作成します。

vMix

そして作成した素材をvMixに入力させます。大きな画像を入力させたので、全体が見えるように縮小配置されますので、ポジションでMainにズームをかけていい具合の大きさにし、PanXで最初のスタート位置を決めましょう。

そして、ショートカットで右に動かすボタンを決めます。例えばキーボードの「L」を押したら右に動く。機能は「SetPanX」となり、入力は先ほどのPNGを。そして値には「+=0.001」といれます。このように値を入力すると、右にほんの少しだけ動きます。もう1度押すと、また右にほんの少しだけ動きます。もう1度押すと、また右にほんの少しだけ動きます。

押した数だけ、0.001右に動いていくわけです。ひたすら連打!!!

Script

ひたすら連打もいいのですが、腱鞘炎になりますね。というわけでScriptです。ScriptはHDバージョンまでだと使えません。4K以上のバージョンにするか、腱鞘炎になるか。。。

必要なScriptは、「0.001」右に動いて少しSleepして「0.001」右に動いて少しSleepしてという繰り返しです。また、ScriptをSTOPさせるものも必要です。
下記をScript1とします。

Function=SetPanX&Input=入力.png&Value=%2B%3D0.001
Sleep 70
Function=ScriptStart&Value=Script2
こんなScriptとなります。「%2B%3D」が「+=」を示しています。もし左に動かすならば「-=」ですので「%2D%3D」となります。上記のScriptは1回だけ右に動いて70止まるというものです。0.001という数字や70という数字は、自分の動かしたいスピードによって変えてみてください。
これを繰り返すわけなのですが、上記はWeb Scriptingなので繰り返しはないようです。ではVBScriptでloop処理でもとは思うのですが、ちょっと記載が複雑になってきます。ここではもっと簡単にもう1つ繰り返し専用のScriptを書いてしまって繰り返しを実行させようと思います。
Script2として
Function=ScriptStart&Value=Script1
というものを作ります。まさにScript1をスタートさせるというScriptです。つまりScript1が実行されるとScript2が実行されてScript1が実行されるという無限ループです。
あとはショートカットでキーボードの「L」に「SetPanX」を割り付けるのではなく、「ScriptStart」を割り付けて値を「Script1」としましょう。そうすると無限ループがスタートするのですが、止められないといけません!! 先ほど、PanXの値は-2~2と書きましたが、Scriptを使用すると無限になります。なので、どこかにショートカットで「ScriptStop」も必ず割り付けておきましょう。これで再生スタート「L」とストップボタンができるわけです。ここまでやってからテストをしてみましょう。
また、動かすと元の初めの位置に戻すのも面倒になると思いますので、「頭に戻す」的なショートカットも作っておくといいでしょう。その場合は、PanXの値に、数値を直接入れればOKです。

応用1

MIDIキーボードやStream Deckなどを使用されている方であれば、ショートカットの割り付け方として、DownとUpがあります。何も考えずにショートカットを割り付けるとUpになっていることが多いと思いますが、Downに上記の「ScriptStart」を割り付けて、Upに「ScriptStop」を割り付けると、ボタンを押している間だけ機能(離すとUpになるのでStop)するボタンにすることができます。これは、今回の場合であったり、トークバックボタンなどにも使用できる小技かなと思います。

応用2?

再生スピードを変えられるようにしてみたいですね。Sleep 70とか0.001の数字を変えられるショートカットボタンを作ればいいのですが、どうやるのだろう。難しそう。というわけで、数値を変えた複数のボタンを作るならば簡単。でも、ただボタンを増やすと、Scriptが同時に2つ3つ動いていくわけですので動きとしては早くなってしまいます。なので、とりあえずの解決としては、

Function=ScriptStop&Value=Script1-50
Function=ScriptStop&Value=Script1-90
Function=SetPanX&Input=入力.png&Value=%2B%3D0.001
Sleep 70
Function=ScriptStart&Value=Script2-70
などというScript1-70。そして
Function=ScriptStop&Value=Script1-70
Function=ScriptStop&Value=Script1-90
Function=SetPanX&Input=入力.png&Value=%2B%3D0.001
Sleep 50
Function=ScriptStart&Value=Script2-50
というScript1-50。そして
Function=ScriptStop&Value=Script1-50
Function=ScriptStop&Value=Script1-70
Function=SetPanX&Input=入力.png&Value=%2B%3D0.001
Sleep 90
Function=ScriptStart&Value=Script2-90
というScript1-90。
それぞれにloop処理用のScript2-●というものを作成し、止めるショートカットは「ScriptStopAll」にすればいいかなぁ。ここら辺もloop処理用のは1つのScriptにif構文などで指定すれば1つに書き込めるのだろうか? Stopは、他にもScriptを使用することを考えるならば、止めるショートカットは「ScriptStopAll」ではなくてそれぞれ止められるようにせねばいけませんが、ここの値は1つだけな感じなのです。クローンでここの値だけを変えたものを複数作成なら問題なく動作します。
お問い合わせ

    おすすめの記事