【2019年11月版】Virt A Mateの便利なSession Pluginsまとめ【配布あり】

プラグインを使うことで、さまざまな表現が可能になります。また、表現の幅を広げるだけでなく、操作性向上という側面でも、プラグインは非常に有用です。

今回の記事では管理人が普段利用している便利系プラグインをまとめて紹介したいと思います。

また、それらをより扱いやすく改変し、取り扱いやすくしたデータを共有いたしますのでご利用ください。

セッションプラグインについて

プラグインには、Atomにロードするものと、本体にロードするものがあります。後者をセッションプラグイン(Session Plugins)といいます。

今回の記事で紹介するプラグインはすべて、VaMの操作性を向上させるセッションプラグインです。

セッションプラグインには、シーンのロードをまたいでも継続するという特性があり、起動後に一度読み込めば、起動中は永続的に機能します。

現在は、起動した気に一度手動でロードしなければいけないのですが、Meshed VR曰く1.19以降では自動でロードできる様になるようです。

それでは解説に参ります。

Virt A Mateの便利なSession Pluginsまとめ

各プラグインに配布元を記載していますが、この記事内ですべてまとめたものを配布しているので、ひとつひとつダウンロードする必要はありません。

Power Tools by VAMDeluxe

配布元:New Power Tools (Bulk Audio Loader, Stay In Edit Mode)

Power Toolsはいくつかの機能をまとめたプラグインです。それぞれ解説します。

Clone.cs

Atomをショートカット(Ctrl + D)で複製できるプラグインです。

シーンを作るとき、ライティングをするときに重宝します。

複製元とちょっとずれた位置に複製されるので、衝突による物理の崩壊も避けられます。

なお、人物Atomを複製しても、ポーズや服装等読み込まれず、テクスチャの読み込みもうまくいきません。

Delete.cs

Atomをショートカット(Ctrl + Delete)で削除できるプラグインです。

普段Atomのcontrol→Removeをクリックする手間が省けます。

BulkAudioLoader.cs

音声をフォルダーごとロードできるプラグインです。

プラグインUI内のLoad Audio From Folderボタンからフォルダーを選択します。このときwav等の音声ファイル自体は見えません。

Scene Audioタブでしっかりとロードされたことが確認できます。

プラグインUI内のRemove All Audioボタンでしっかりアンロードできるのですが、プラグインUI内右のリストは更新されず、また、新しくロードすることができなくなるので、プラグインごと再ロードする必要があります。

使用頻度は低いので、コードは修正しませんでした。

Power Toolsに含まれる不要なプラグインは除外

他にもPower Toolsには、SelectRoot.cs、Focus.cs、AlwaysEdit.csというプラグインが含まれています。

SelectRoot.csはRoot選択をショートカットでできるようにするものですが、最新のVaMではNキーで人物AtomのRootを順番に選択できるようになったため不要になりました。

Focus.csは後述のOutlinerというプラグインと機能がかぶるため除外しました。

また、AlwaysEdit.csは常にEdit Modeを維持できるプラグインなのですが、プラグインによってPlay ModeにしないとUI(Canvas)を消せないものが結構あるので除外しました。

Outliner by VAMDeluxe(Modified)

配布元:Outliner (Quality of Life Plugin)

Outlinerは、シーンないに存在するAtomを一覧表示し、表示/非表示や、Controlの非表示、削除などが可能になるアウトラインツールです。

シーンにこだわればこだわるほど、たくさんのAtomを使うことになり、Tキーで各Control(緑とか赤のアイコン)を画面上に表示するとどれがどのControlなのかがどんどんわからなくなっていきます。

Outlinerを使えば、AtomごとにワンタッチでControlを隠すことができることができるので、画面を見やすいままに保つことができます。

その他にも、PeopleやLightsなど主要なカテゴリで絞り込んで表示ができるので、ルート選択が簡単になります。

筆者が改変している点

大変素晴らしいOutlinerですが、多少コードを改変することでますます使いやすくなりました。

セッションプラグイン化

そもそも、Outlinerは実はセッションプラグインではありません。セッションプラグインとして読み込むと、「なんかのAtomに読み込んでね」と警告が出て使えません。

使用頻度が高いプラグインなので、毎回Empty Atom等をシーンに追加して、そこにプラグインを読み込ませるのはかなり手間になります。

セッションプラグインとして読み込むと、自動的に「Outliner」という名前のEmpty Atomをシーンに追加し、それを”義理の親”として扱うよう改変しました。

また、セッションプラグインは別シーンを読み込んでも初期化されないため、読み込んだシーンではOutlinerが出現しません。(すでにOutlinerが追加されているシーンだった場合は出現します)

この場合は、セッションプラグイン自体をReloadさせることで初期化できます。また、OutlinerのAtom自体を削除すれば消すことができます。

非表示の条件変更

OutlinerはもともとPlay Modeのときのみ非表示になります。仮にF1キーを押してもUキーを押しても消えてくれません。

自分は普段F1キーでUIを非表示にしているので、F1を押したときにも非表示になってくれるように改変しました。

[CameraRig]と自動で親子付け

Outlinerのような「なにかAtomを親とするUI」は、そのままの状態だと普通のオブジェクトのように自分(カメラの視点)によって大きさが変わります。(大きさがかわるというか、近づけば大きく見えるし離れれば小さく見える)

自分自身と親子付けすることで、UIの大きさが維持されます。

親子付けするには、Outlinerの親Atom(Empty Atom)のコントールを開いて、親Atomを[CameraRig](自分の視点のAtom)にし、その後レシーバーをCenterEye([CameraRig]の位置)にし、Posistion StateをParentLinkにしなければならず、これもまた手間です。

改変版では、親Atomを[CameraRig]、レシーバーをCenterEyeに設定するところを自動でやってくれます。

Posistion Stateは、お好みの大きさに調整してから手動でParentLinkに変更しましょう。

On/Off, Hide Controlsのショートカットキー追加

現在選択中のAtomを、F2キーでOn/Off、F3キーでHide Controlsさせることができます。

Power ToolsのFocus.csと合体したような使い心地になりました。

Explosion limiter plugin by Extraltodeus(Modified)

配布元:Explosion limiter plugin

Explosion limiter pluginは、物理的な移動の速度を制限するプラグインです。

これにより、想定外の挙動によって物理の崩壊が起こり、シーンデータが無駄になってしまうリスクを下げることができます。

あくまでもリスクを下げる程度で、絶対に起こらなくなるわけではないので引き続き衝突等に注意を払いましょう。

筆者が改変している点

セッションプラグイン化

もともとExplosion limiterは人物Atomに読み込むタイプのプラグインです。

セッションプラグインに読み込むことで、自動的にシーン内の人物全てにExplosion limiterの効果が発生するように改変し、セッションプラグイン化しました。

2019/11/10以前の配布データではこの改変が行われていないものを同梱してしまっていたために、このプラグインの効果が発生しない状態でした。訂正いたしましたので改めてダウンロードして上書きしてください。

SuperResolution Screenshot Plugin by MacGruber(Modified)

【プラグイン配布】スクリーンショット強化&FoVを制限解除する「Desktop Screenshot」を作りました

こちらの記事で配布しているプラグインと競合する部分があります。Desktop Screenshotを使用する場合はこちらのプラグインはcslistから外しておいてください。

配布元:SuperResolution Screenshot Plugin

8K画質でスクリーンショットが取れるようになるプラグインです。

プラグインUIを開くと、Screenshot Mode時の解像度とMSAAの設定ができます。

なんと、9600×5400とかいう10k相当のサイズでスクリーンショットが撮影できるのです。

9600×5400が限界なのかというとそうでもなくて、プラグインのcsファイルをいじれば、PC性能が許す限り解像度を高められます。(9600×5400で十分すぎるので試してすら無い)

またVR下などで、ゲームのMSAAを低くしていてもSSのときはMSAAも8xで撮影できます。

撮影は「Main Menu→File(Open/Save)タブ→Screenshot Mode」から行い、撮影した画像は、「VaMルートフォルダ/Saves/screenshot」に出力されます。

筆者が改変している点

縦向きモード追加

上述の通り、プラグインのcsファイルをいじれば好きな解像度で撮影が可能です。これを応用すると、縦向きでの撮影も可能になります。

本来なら1920×1080の横長を、更に裁断して横608×1080になってしまうところを、5400×9600で撮影が可能です。

なお、追加した縦長設定は「5400×9600 Vert」という名前で、一番最後にあります。

VaMの純粋なスクショ機能で撮影したもの(608x1080) クリックで拡大可能
5400x9600で撮影したものを1440x2560に縮小したもの 凄まじい解像度。クリックで拡大可能

5400x9600で撮影したものの顔部分を切り取ったもの さきほどのを切り取っただけ。顔をアップにしてスクショを撮ったわけじゃないんです。クリックで拡大可能

なお、スクショ撮影時は縦長撮影でも、下の画像のように横長のプレビューが出てきます。高さだけ意識して撮りましょう。

バグに注意

このプラグイン、プラグインを有効/リロードするたびになにかか本体の処理に溜まってしまうバグを抱えているようで、プラグインを再ロードしまくるほど、スクリプトの負荷が増えます。

数回リロードしても特に問題はありませんが、数十回リロードすると、ほとんどなんの操作もできなくなるほど過負荷状態になるので、注意してください。

ちょっと原因の特定が難しかったので、本家の更新を待ちたいと思います。

なお、何回撮影しても問題は起こりません。あくまでプラグイン自体が有効になるときに原因があるようです。

セッションプラグインセット配布

ダウンロード

Google Drive

VaM.exeのあるルートフォルダに配置してくだい。

本旨とそれますが、1.18以降でファイルの配置場所が大幅に変わりました。ほとんどは自動で再配置してくれるんですが、再配置されるがゆえ、昔のデータはうまくテクスチャや音声が読み込めないことがあります。

いつかこのデータもそのまま配置するだけでは機能しなくなるかもしれません。予めご了承ください。

使用方法

Main Menu→Session Pluginsから、セッションプラグインを読み込むことができます。

左上Add Pluginボタンを押すとプラグインのスペースが出現するので、Select Fileボタンをクリック

ファイル一覧の中から「Session Plugions」というフォルダを探しクリックすると、「Session Plugins.cslist」というファイルが見つかると見つかるので、それをクリックすることで、読み込みは完了です。

この「.cslist」というファイルは、スクリプトファイルを一発で複数読み込むためのファイルです。ただのテキストファイルなので、もし追加したいセッションプラグインをお持ちだったり、今回のスクリプトの中で不要なものがあったりしたら編集してください。

CSListの中身 改行でファイルの場所を相対パスで記入するだけでよい

各プラグインの設定が行えるプラグインUIは、読み込んだスクリプトの右側から開けます。今回のプラグインでは、Super Resolutionでのみ使うことになるでしょう。

Reloadボタンで再読み込みができます。読み込んだシーンにOutlinerを導入したいときなどにクリックしてください。なお、Super Resolutionの項で説明したバグの件もあるので、クリックし過ぎには注意。

まとめ

VaM1.19では自動読み込みできるようになるようですが、それまでは起動したらセッションプラグインを読み込みましょう。

なにか「これは外せないだろ!?」っていうセッションプラグインorセッションプラグイン化したほうが良さそうなAtomプラグインがありましたら教えていただければと思います。

CREDITS

VAMDeluxe : Power Tools, Outliner.

Extraltodeus: Explosion Limter.

MacGruber:Super Resolution.

Many thanks to them.