はじめに
VRChatがOSC対応とのことでやっていくー
開発環境
- Windows10 PC
- VRChat
- TouchOSC
- Python3.9
- python-osc
- protokol-0.4.4.86-win64.exe
導入
Client(VRChatへ送信)
TouchOSCからVRChatへ送信確認
TouchOSCの設定をして、スライダー動かしたりするとVRChat OSC Debug画面で見えれば成功
※Host:VRChatを起動しているPCのIPアドレス
TouchOSC | OSC | Automat 5 | VRChat OSC Debug |
---|---|---|---|
python-oscからVRChatへ送信確認
1.python-oscのインストール
pip install python-osc
2.下記、プログラムを実行
import argparse
import random
import time
from pythonosc import udp_client
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--ip", default="192.168.0.32",
help="The ip of the OSC server")
parser.add_argument("--port", type=int, default=9000,
help="The port the OSC server is listening on")
args = parser.parse_args()
client = udp_client.SimpleUDPClient(args.ip, args.port)
for x in range(10):
client.send_message("/filter", random.random())
time.sleep(1)
3.VRChatのOSC Debug画面で確認
python-oscからVRChatへ送信確認!#Python #VRChat #OSC pic.twitter.com/UsrhCVUNcF
— がちもとさん@メタバース熊本 (@sotongshi) February 17, 2022
Server(VRChatから受信)
VRChatからProtokolへ受信確認
1.Protokolをダウンロード(protokol-0.4.4.86-win64.exe)
2.OSCを選択し、ポートを9001にして、Enabledする
VRChatからpython-oscへ受信確認
1.python-oscのインストール
2.下記、プログラムを実行
import argparse
import math
from pythonosc import dispatcher
from pythonosc import osc_server
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--ip",
default="127.0.0.1", help="The ip to listen on")
parser.add_argument("--port",
type=int, default=9001, help="The port to listen on")
args = parser.parse_args()
dispatcher = dispatcher.Dispatcher()
dispatcher.map("/*", print)
server = osc_server.ThreadingOSCUDPServer(
(args.ip, args.port), dispatcher)
print("Serving on {}".format(server.server_address))
server.serve_forever()
3.アバターを動かすと受信する
VRChatからpython-oscで受信確認!#Python #VRChat #OSC pic.twitter.com/On0eMphSP2
— がちもとさん@メタバース熊本 (@sotongshi) February 17, 2022
お疲れ様でした。
OSCでなにができる?
トラッカージャグリング
OSCでトラッカージャグリング!
— くすすすすすすす (@kazenainannna) February 20, 2022
応用したらリアルの棒にトラッカー付けて、合わせて剣を振るとかできると思う。#VRChat pic.twitter.com/qxWC68VXei
電動ドリルがON/OFF
OSCでVRChat meets 電動工具🔧
— DENSHIKI_Ø (@EOFNotFound) February 18, 2022
アバターが目を閉じるのに連動して、強引にIoT化された電動ドリルがON/OFFします。
ポロリもあるよ! pic.twitter.com/Y2tNmjMQGy
CPUとメモリの使用率を表示するやつ
OSCを使ってCPUとメモリの使用率を表示するやつ作ってみた pic.twitter.com/B35I778S61
— すなお🍆VRChat (@SUNAO_VRC) February 19, 2022
音声認識を利用してOSCを送信するアプリ
音声認識を利用してOSCを送信するアプリを公開しました!
— みみりん (@33linn) February 20, 2022
OSCが気になっていた人もぜひ試してみてください!https://t.co/bkpUf170dL#VRChat
お部屋の照明を操作
OSCを使ってVRChat内からお部屋の照明を操作してみました。
— かめっち@VRC (@kametti_vrc) February 20, 2022
寝落ちたら照明消したりすれば実用的になるかな。 pic.twitter.com/cjv41o72lb
音声認識で呼び出せるドローン
こたえ:VRChatのOSC機能を使って音声認識で呼び出せるドローン
— 承認欲求🪅XRデベロッパー (@shoninvrc) February 20, 2022
音声認識からドローン制御までUnity側で処理してるのでいくらでも複雑にできるぞい #VRChat https://t.co/ia2oVbdbq2 pic.twitter.com/xYkSMY24gg
撮影用アバター
OSC使って撮影用アバター作りますた🎥
— じぇしか / Jessica (@jscmla1118) February 19, 2022
Unityでリアルタイムにカメラ動かせるようにしたから、ロケハンも捗るやつ!Timeline使えば本撮影前にカメラ割りが組めるし、データ本体はUnityが持つから再現性もバッチリですわ☺️
…これ、アバターという名の「プラグイン」なのでは?#VRChat はDCCツール説。 pic.twitter.com/XLOhir1gGJ
経路マッピング
OSCでアバターのスティック移動速度や回転速度がとれるので積分していくと現在位置がわかる。
— ドコカノうさぎ🐰メタバースアイドル🎤VIVE公式アンバサダー🌟Vket出展&くらげビート出演 (@patsupyon) February 20, 2022
VRChatのワールドを歩いた経路をマッピングするアプリを作ってるぴょん
VelocityX/Y/Zは1秒あたりの移動距離らしくわりと精度が高い。
AngularYの値は謎。回転すると誤差だらけ><#VRChat #Processing https://t.co/CWLL1RamZy pic.twitter.com/biCiOO1VKD
心拍数を送るやつ
Mi Band 5で計測した心拍数をOSCでVRChatにリアルタイムで送るやつができた🦊✨
— mkc1370@VRC (@mkc1370_vrc) February 18, 2022
(部屋の中を走り回って心拍数を上げてる) pic.twitter.com/gIsAim3FQa
Expressions MenuからVRCワールドオブジェクトを制御
アバターOSCを利用して、Expressions MenuからVRCワールドオブジェクトを制御出来るようにしました。
— みっちー@メタバース・ロボット部 (@Dream_Drive) February 18, 2022
これで、壁のボタンを押さなくても、ミラーの出し入れやギミックの発動が出来ます。
とはいえ、裏側は、ちょっとお手軽とは言い難い感じになってますが(^^;A #VRChat pic.twitter.com/fOwmZzKN5l
入力した文章を翻訳して表示
VRCHATのOSCを使って入力した文章を翻訳して表示できるアバターを作りました~。
— ね こ な べ (@pd70116) February 19, 2022
海外publicにいって遊べるかもしれないです pic.twitter.com/0XsIKTmGcW
曲げセンサの曲がり具合を用いて耳変化
wifi付きマイコンのESPからVRchatへOSC送信出来た~
— tamago (@tamagohiyo_vrc) February 19, 2022
曲げセンサの曲がり具合を変換してアバターのシェイプキー(耳変化)に0.0~1.0で送信してる様子です。
これは組み込み屋が色々出来るううううう!!! pic.twitter.com/V60St3VrH8
移動量を使って振動させるやつ
移動量を使って振動させるやつ
— hheaven (@hheaven24) February 19, 2022
/avatar/parameters/VelocityZ > OSC output > buttplug > Lovense Ambi pic.twitter.com/bJpkQte1r1
音声認識で剣を召喚
VRChatでOSCを使って音声認識で剣を召喚してみたにゃ!
— めし【めしめしの🐈】 (@meshi0217_vrc) February 19, 2022
発想と技術次第で何でもできるからOSCとっても楽しいにゃ🐈 pic.twitter.com/oQ5PB3VMBy
文章送って字幕みたいに表示するやつ
OSCで文章送って字幕みたいに表示するやつ。n番煎じ。 pic.twitter.com/DIKnphzfOd
— ろじ(っく) (@logi9_) February 19, 2022
α7 IIIとVirtualLensを連動させるやつ
α7 IIIとVirtualLensを連動させるPoC。 pic.twitter.com/hMQyS3yWF2
— XiPHiA (@alchemicalogic) February 18, 2022
OSCで画像送信
OSCで画像送信できた! #VRChat pic.twitter.com/PZOQcijG16
— raii / らい (@raii_VRC) February 18, 2022
M5Stack ATOM MatrixのIMUデータを送る
VRChatのOSC使ってデスクトップモードの没入感をすこし上げてみる。M5 stack atom matrixのIMUデータをOSCで送り込んでます。 pic.twitter.com/Pwaz41TQkY
— ね こ な べ (@pd70116) February 18, 2022
VIVE Pro Eyeで取得できるアイトラッキング情報を送信
VIVE Pro Eyeで取得できるアイトラッキング情報をVRChatへ送信するツール
— nmちゃん (@nmch1222) February 18, 2022
eyedayoの公開を開始しました。
※現時点ではVRChat OpenBeta版でのみ利用可能ですhttps://t.co/aug6QZE9DR pic.twitter.com/Ebql63Lt7Z
翻訳コンニャク
VRChat OSC翻訳コンニャク実装できんじゃね???
— Michigari メタバースの家を作る人 (@Michigari) February 18, 2022
タイムラグが気になるな (最後の赤文字の方)
リアルタイムはローカルだと辛そう pic.twitter.com/uoTqYH3QdK
鉄騎コンでアバターを操作
昨日の #VRChat
— 妖精の姿煮 (@autobahn256) February 18, 2022
OSCが面白そうだったので適当に試してみる等
とりあえず鉄騎コンでアバターを操作できるようになりました
トグルスイッチでブーストON/OFFとかする感じで pic.twitter.com/ZG4AUqVdNK
ミュート状態でも口パクさせるやつ
#VRChat Unityエディタ上でOVRLipSyncで取得したViseme情報をOSCを使ってVRChatに送り込み、VRChatでミュート状態でも口パクさせる実装。
— オノッチ (@onotchi_) February 18, 2022
音楽ライブなどで音源から歌を再生させたり、TopazChatを使う場合でも口パクがしたいってときに有用。 pic.twitter.com/qgO08FamTk
音声入力でアバターの操作
Do yall ever control your Avatar via voice? #VRChat OSC pic.twitter.com/0zdFULcYas
— M.O.O.N (@MOONVRCHAT) February 18, 2022
Neosからアバター操作
Constraint Track Animation in desktop VRChat controlled by a synced parameter via OSC input sent through a Python script that listens on a WebSocket for messages sent by a client in Neos which transmits the distance between two cubes that I can move in Neos using LogiX. pic.twitter.com/YpHfopdvZ6
— Haï~ (@vr_hai) February 17, 2022
VRCLensの操作
OSCでVRCLensの操作パネルを外部で作るのかなり有用では?これをOVRToolkitとかで操作できるようにすれば使いにくいExpressionメニューから操作しないで済む。#VRChat pic.twitter.com/qofKg4hUGJ
— 黒鳥@ケモカフェオーナー (@kurotori4423) February 18, 2022
サウンドに合わせてフォームチェンジ
ギターヒーローなのでサウンドに合わせてフォームチェンジできるようになりました
— ぴぼ | memex Gt (@memex_pibo) February 18, 2022
OSC Avatar Parameters、無限に遊べる#VRChat #MAXforLIVE pic.twitter.com/SRLCllIZDT
音声認識で衣装変更
音声認識で衣装変えられるようにしてみたじぇ
— みきねる🍜 (@kemmimilk) February 17, 2022
音声認識 -> OSC -> AvatarParam
(30分クオリティ)#VRChat pic.twitter.com/3VkoEgGUe4
iPhoneからアバターの顔を動かす
iPhoneからOSC経由でアバターの顔を動かせた~デスクトップモードが捗る #VRChat pic.twitter.com/LCgrayJYzP
— のしぷ (@noshipu) February 17, 2022
VRChatからTouchDesignerのバナナを回す
VRChatでOSC投げれるなら、まずはバナナを回すでしょう。 #kuma_td #TouchDesigner pic.twitter.com/6vdMGtbYU8
— まこらぎ (@makoragi) February 17, 2022
アバターでVJ
VJできるようになった(?) pic.twitter.com/8vl3CELOiA
— fotfla (@fotfla) February 17, 2022
OSC導入方法
VRChatにOSC来たと話題になってるけど、OSCなにそれお寿司?
— ラザノア (@Lasagnoa) February 19, 2022
っていう初心者向けにざっくりとOSCを体験する手順をツリーに書いていくよ。
Windows向けだからMacとかの方は自分の環境に合わせて読んでね。#VRChat #VRChat初心者向け情報
VRChatのOSCのやり方(超雑なメモ)
— のりたま@VRC (@noritama_vrc) February 17, 2022
①VRChatの設定
クライアントをベータ版にする。
VRChatを起動して、リングメニューの Options→OSC→Enabled を有効にする。
OSCで触れる変数
VRChatのアバターOSC、昨晩ザっと触ってみて、基本的には、デバッグコンソールに出てくるパラメータを外部(アプリやガジェット)から直接読み書きできる機能と考えると、分かりやすそうです。
— みっちー@メタバース・ロボット部 (@Dream_Drive) February 17, 2022
ガジェットだと、〇面ライダーの変身ベルトとか、WiFi対応で作ると面白そうですね。 #VRChat pic.twitter.com/xwmI1cw5tB