【VRChat】便利に使おうOSC

だいぶ久々に書くし初投稿です。
今回はOSCっていうアバターに仕込める便利なやつをご紹介してみようと思います。


OSCって?

きっと皆さんも名前だけは聞いたことがあったり、VRCのまぁるいメニューの中にその名が存在するのを見たことがあるんじゃないかと思います。
OSCというのはOpenSoundControlの略で、元来は電子楽器などの分野でなんらかのネットワーク越しに楽器やMIDIコントローラーで操作した数値情報を通信するための規格です。

VRChatにおけるOSC

Unityでアバターを編集する際の話になるのですが、皆さんはVRChatにおいてアバターになんらかの機能を仕込む際、その機能が動作する・しないの管理はどのように行われているかご存じでしょうか。

アニメーターコントローラー

わかる方は飛ばしていただいても結構なのですが、機能の多くはアニメーションを駆使して、その機能を活性化・非活性化しています。小物が出たり出なかったりもアニメーションです。
このアニメーションがいつ再生されるのかを司るのが「アニメーターコントローラー」です。コントローラーくんはアバターの状態(ステート)を監視して、ステートに合わせてアニメーションを再生したりしなかったりします。じゃあステートって…?

ステート

ステートは状態を意味する言葉です。似た言葉としてRPGなんかで目にするステータスなんてものがありますが、(本当は区別すべきだけども)同じようなイメージを持ってもらって構いません。
アバターにはパラメータというものを内包していて、コントローラーのパラメータタブやExpression Parameterといったところでそれを目にしたことがあるかもしれません。
このパラメータの状態こそがステートである、と考えてください。
例えば、ExpressionMenuでVRCEmoteというパラメータが操作されて値が1になることによって、VRCEmoteのパラメータが1である、というステートに遷移します。
この際、ステートに設定されたアニメーションが再生される…というのが一連の流れとなります。

OSCとの関わり

値の操作によってアバターが動くということをなんとなく理解していただくことはできましたでしょうか。
そうです。値の操作なんです。OSCも数値の操作、しますね?そういうことなんです。

私が実際に行っているOSCでのアバター制御

じゃあ具体的に何をしていらっしゃるので…?という方向けに実際に使用しているものをご紹介します。

使用例

使用機材:KORG nanoKontrol studio(MIDIコントローラー)
OSC送信用ソフト:OSCさんといっしょβ
アバターギミック:VirtualLens2

VirtualLens2はVRCの純正カメラよりも高機能なカメラをアバターに組み込むものです。
通常は操作の大部分をExpressionMenuで行います。
頻繁操作する部分としては「ズーム」「露出(明るさ)」「絞り」といったところになりますが、これらをExpressionMenuで操作すると、めちゃめちゃコントローラーのスティックをぐるんぐるんすることになります。摩耗しそうだし、細かな調整が難しいめう…
せや!MIDIコントローラーのフェーダーで操作したろ!
という感じです。

OSCさんといっしょβは長らく更新がないソフトですが、MIDIコントローラーの操作等をトリガーにアバターのパラメータを操作する機能を持った便利なソフトです。無料で使わせていただけます。すごい

そして実際に操作に使用しているMIDIコントローラー、KORGの nanoKontrol studioですが、こちらはコンパクトかつBluetooth接続に対応したMIDIコントローラーです。膝の上に置いて操作するのにちょうどいいサイズ感なので、まずはアングルを決めて、レンズをワールドに固定、カメラの細かい設定を整える…という際に非常に重宝しています。

MIDIコントローラーに割り当てている機能は以下の通り
・VirtualLens2の有効化
・VirtualLens2の無効化
・レンズのワールド固定
・レンズのワールド固定解除
・ズーム
・露出
・絞り
・AFモード切り替え

正直これらすべてをVRのコントローラーでやるのは…ね?

おわりに

別に手順を紹介するでもなんでもなく、ただOSCって便利なんだよ!という話をしたかった今回なのですが、いかがでしたでしょうか。
推敲も無しにダラダラと書いてしまったので読みづらかったかと思います。俺は…俺はただ…OSCは便利だぞって言いたかった…それだけなんだ…

この記事が気に入ったらサポートをしてみませんか?