Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VRChatでLT会やりたかった話

 VRChatでLT会やりたかった話

haru2036

May 02, 2021
Tweet

More Decks by haru2036

Other Decks in How-to & DIY

Transcript

  1. みなさまご無沙汰してます(あれ?お前誰だっけ? • @haru2036 • 某大学北千住の民だった ◦ sie LTのおかげで北千住でもLT会を強行する勇気が得られました マジでありがとう…… •

    さいきんはVRChatにどっぷり • VRC-LTなる怪しいイベントを主催しているオタク • 武装神姫のオタク(アーケード版ほぼやってないな?)
  2. VRChat is 何 • VR版Second Lifeみたいなやつ(雑) • アバターやワールド(環境)をUnityで作って アップロードできる •

    一応ある程度のスクリプティングが可能 ◦ 昔は本当にきつかったけど最近はC#ライクな構文で行けるように(後述) ◦ VRCSDK2とVRCSDK3というバージョンのSDKがあり、2は特に辛い
  3. SDK2~暗黒時代 • VRC_Panorama ◦ URLのリストをワールドビルド時に決め打ちでわたしておくとイベントを送れば切り替えら れる ◦ ただしどのページを表示しているかは同期されない • VRC_Objectsync(うろおぼえ、たしかこんな名前だった)

    ◦ これを組み合わせると超不安定だが表示されるページが同期された • スライドサーバ(Haskell-Servent on Google Cloud Run) ◦ VRC_Panoramaに決め打ちされてるURLをスライド画像のURLにリダイレクトする ◦ 詳しくはHaskell-jpのブログに寄稿させてもらったのでそちらを見ていただけると https://haskell.jp/blog/posts/2019/haskell-in-vrchat.html
  4. 暗黒時代の始まり • Unity2017時代はそれなりにうごいていた • Unity2018への移行後はまったく動かず、かつ後継のVRCSDK3が出てきた ◦ しばらくほっとこ…… • VRCSDK3にはそもそもHTTPリクエストを投げて画像を引いてくるみたいな 機能を持ったコンポーネントが存在しない

    ◦ 一応予定はしているらしい(Cannyにチケット切ったらそのうちやるよ!お楽しみに!と言 われCloseされたが、それからすでに1年ほど経ってるのでは……) ◦ しばらくほっといた結果がこれだよ
  5. そしてVRCSDK3時代へ • VRCSDK3でスクリプティングシステムが刷新された(Udon) ◦ ノードベーススクリプティング言語(Udon) ◦ 専用アセンブリ言語(UdonAssembly) ◦ 実行環境(UdonVM) •

    C#ライクな構文でスクリプトを書けるUdonSharpが有志(!?)により開発され た ◦ C#ライクなスクリプトをUdonAssemblyにコンパイルしてくれる • しかし画像をHTTPでとってくるようなAPIはまだ存在するわけが(ry
  6. VRC-LT on SDK3 • PDFを動画に変換するDiscord Botを作って適当にパラパラ漫画的動画を生成 • 一時停止状態の動画プレイヤーの再生フレームを切り替えることによって 一応スライドっぽく使えるようにした •

    大人数入ってくると同期が 取れなくなるおまけ付き • BotにはRustのSerenityを使った ◦ Haskellと似たようなハマり方をした ◦ その後の安心感も同様