RecRoomの新プログラミング環境、Circuits Version2 (CV2)のまとめ

VRSNSのRecRoomの新プログラミング環境、Circuits Version2 (CV2)のチュートリアル動画を見ながらどんなことができるのかどんな癖があるのかをまとめました。
0
sifue(吉村 総一郎) @sifue

とにかくRecRoomのCV2でこれからゲーム部屋の人気ランキングが激変しそうなので本当に楽しみ。かなりいろんなゲームが出てくるんじゃないかと思う。 Among Usのファンゲームは投票をプロンプトダイアログでできたり複雑なタスク作れるのですごくいいものが出てきそう。

2021-05-06 01:17:59
sifue(吉村 総一郎) @sifue

RecRoomの^EvangelionYashimaのギミックを全てCircuits Version2で実装しなおしてみた。ワイヤーでやってたのがイベントで表現できるようになったのでそこがきれいに出来るけど、変数や初期化周りはまだまだ工夫が必要そうだ。 pic.twitter.com/Aoz6R86bXs

2021-05-06 03:54:07
拡大
拡大
拡大
sifue(吉村 総一郎) @sifue

RecRoomのCV2の変数周りの扱いが、Betaの頃から変わってる。前はSet Valueノードを使ってたけど、使わずに表現する方法になってる。なので更新がどのように行くかは意識しないといけない。あとInstanceとSyncedという二つの種類の変数があったけど、これがConfigureで設定する方式になってた。 pic.twitter.com/PvkPuHgQiK

2021-05-06 03:55:45
拡大
sifue(吉村 総一郎) @sifue

RecRoomでListからインデックス指定でデータを取り出すノード、Get Elementノードだった。ネーミングわかりずらいw せめてGet Element Of Listとかにしてほしかった感。あとデバッグのためのLogScreenオブジェクトはBeta扱いなので基本はShow NotificationとText v2にTo Stringして出すが便利そう。

2021-05-07 00:40:45
sifue(吉村 総一郎) @sifue

今日はmax_saunaさんが来てくれて、RecRoomのCV2でLogScreenを使ってデバッグできる状況を作ったりしました → youtu.be/MjK7B5D1QnA?t=…

2021-05-07 01:40:41
拡大
sifue(吉村 総一郎) @sifue

RecRoomのCV2で部屋にいる人たちをランダムに表示させるという回路の作り方をSadaoniumさんに開設したりしました。その動画がこちら→ youtube.com/watch?v=MjK7B5…

2021-05-07 01:45:28
拡大
sifue(吉村 総一郎) @sifue

RecRoomのCV2の完全にハック情報になるのかもしれないけども、オブジェクトをListに突っ込んでそれをTo Stringで文字列化してText v2ガジェットに映すとかShow Notificationで表示させるとUnity C#上における型名が見れたりして便利。

2021-05-07 02:57:07
sifue(吉村 総一郎) @sifue

RecRoomのCV2の変数の重要概念を知った。変数ノードは何と同じ変数名だと同じものになる。なので変数名の衝突にはむちゃくちゃ気を遣わないといけない。あと、リセットを気軽にする方法として、ConfigureのSyncedを入れて外すと初期化されるのでリセットするときに便利。 pic.twitter.com/QW1F0i1wIR

2021-05-07 21:57:00
拡大
sifue(吉村 総一郎) @sifue

最後はセーブできずに壊れちゃったのだけどRecRoomのCV2で無事、LifeGameが実装できた~。また今度別な部屋で作り直すとしてとりあえず完成時のムービーが取れたので満足。 youtube.com/watch?v=BnMOJp…

2021-05-08 03:26:22
拡大
sifue(吉村 総一郎) @sifue

RecRoomのCV2に関していろいろ学びがあった。 ・CPU100%でexecシグナルが捨てられる ・ループ内ではディレイできない ・イベントとカウンタを使って疑似ループができる ・Get Elementでインデックス外を参照すると落ちる ・同じ回路はCiruit Boardノードで部品化したほうがいい 以上は重要な知見。

2021-05-08 03:30:29
sifue(吉村 総一郎) @sifue

RecRoomのCV2で作ったLifeGame、とにかく見た目が圧巻。良く作ったなぁ。5x5でも結構な巨大建築という。 pic.twitter.com/gD1qdRLKvy

2021-05-08 03:32:21
拡大
sifue(吉村 総一郎) @sifue

ちかくで回路を見るとグッとくるw pic.twitter.com/PmAnX1TiDg

2021-05-08 03:32:50
拡大
sifue(吉村 総一郎) @sifue

ちなみにRecRoomのCV2でGet Elementがインデックス外参照で落ちちゃうのが面倒くさかったので、自分はCircuit BoardノードでSafty Get Elementノードを作ってしまった...。なかなかこれ踏むと修正が厄介。

2021-05-08 03:35:14
sifue(吉村 総一郎) @sifue

あとFor文が大きくなるとすぐCPUを使い切るので、Eventの擬似ループ内でディレイさせるのがかなり重要なテクニックになりそうだ。 ただ今回やってみてこれで、なんとか大抵のものは実装できそうという感覚を得れたな。

2021-05-08 03:39:50
sifue(吉村 総一郎) @sifue

RecRoomのCV2で作ったコンウェイのライフゲームですが、無事復旧できたので ^SifueLifeGame という部屋で公開しました。メーカーペンを使えるようにしてあるので、どのように回路を組んでいるかの参考などにご利用頂ければと思います。 rec.net/room/SifueLife… pic.twitter.com/YNaSjRQdml

2021-05-08 21:26:36
sifue(吉村 総一郎) @sifue

Twitterだと動画が劣化しちゃうみたいなのでYouTubeにもアップしておきました。 youtube.com/watch?v=3BCCpT…

2021-05-08 21:28:05
拡大
sifue(吉村 総一郎) @sifue

RecRoomのCV2でVRでビジュアルプログラミングを始める人のための入門記事を書いてみました! / 1件のコメント b.hatena.ne.jp/entry?url=http… “VRヘッドセットだけで学ぶビジュアルプログラミング!Rec Room内のプログラミング言語、Circuits V2(CV2)について - Qiita” (1 user) htn.to/21nKVuZRkF

2021-05-09 01:42:46
sifue(吉村 総一郎) @sifue

この3日間ぐらいRecRoomのCV2でビジュアルプログラミングやっているけれど、VR空間って奥行きがあるからかなり複雑なものが表現できてビジュアルプログラミング言語向きだよなぁと思ってる。また複数人でワイワイ実装するモブプログラミングが捗る。

2021-05-09 02:18:25