[VRC][ワールドギミック] クイズ・お絵かきボード
- Digital500 JPY
![[VRC][ワールドギミック] クイズ・お絵かきボード](https://booth.pximg.net/1a2ea9dc-b8c0-443a-8dd8-0796e8fa7e76/i/8383668/fc4ce1b2-fca4-4a71-b11d-75c8e901e25e_base_resized.jpg)
VRCで使える、クイズやお絵かきなど様々な用途に使えるワールドギミックです。 Trail Rendererを使用しないギミックがなかったため、作成しました。 空中には文字を描けませんが、キャンバス上には描けるようになっていて、またキャンバスを動かしても、キャンバス上の線が追従するようになっています。 そのため、いわゆる「それでは、回答をどうぞ!」ドン!のような感じでフリップして回答オープン!なこともできます。 同期にも対応しており、 ・あとから参加してきたプレイヤーにも、すでに書かれていた線を表示する ・線をその場にいる全員に共有 などにも対応しております。 ただし、あまりにも参加者が多い場合、同期に時間がかかる可能性があります(未検証)。 多人数で使用すると、どうしてもVRChat側の制約で同期が遅れてしまうので、線の曲がり度のパラメータを少なくすることで、同期データを少なくすることも可能です。 使用例: ・イベントなどでクイズ大会を開きたい ・プラベワールドに身内用のミニゲームとしてお絵かきの森のようなことをしたい など、様々な用途でご使用できます。
利用規約
・著作権表示・使用報告などの表記は不要です ・本データに関するデザインの変更や、3Dモデルの改変/改造等は可能です ・本データを組み込んだゲームやメタバースワールドの商用利用は可能です ・本データをそのまま二次配布・二次販売することは禁止です ・本データの使用により生じたトラブル等に関して、作者は一切の責任を負いません ・本データにバグ等の不具合がなく完全な挙動をすることを作者は保証しません
更新履歴
■ 2026/05/26 v1.0.0発売
動作環境
・Unity 2022.3.22f1 ・VRChat SDK 3.10.3 ※上記バージョン以外では試していませんが、メジャーバージョンがあっていれば動くかとは思います
使用方法
1. "OekakiBoard.unitypackage"をインポート 2. "Assets/KimotaLab/World/OekakiBoard"フォルダ内の"OekakiBoard"PrefabをScene上に設置 3. 同フォルダ内の"OekakiBoardSpawner"PrefabをScene内に配置 4. Tools > KimotaLab > Generate Poolを押し、Target PrefabにOekakiBoardをセット、Countにはお好きな数を設定し、Generateを押す 5. 先ほど配置したOekakiBoardSpawnerをクリックし、Inspectorにある"OekakiBoardSpawner"コンポーネントの"Oekaki Board Pool"の部分に、生成されたPool GameObjectをセット 6. Playを押してお試しいただけます
できること/できないこと(補足)
できること ・後から参加への同期 ・線の太さ、正確さの変更 ・ペンや消しゴム、キャンバスなどのモデルの変更 ・線の色変え(手順未作成) できないこと ・空中への線の描画 ・多色対応(現状未対応) ・かなり正確なパラメータでのリアルタイム同期(デフォルトであれば問題なし)
技術仕様(技術的な話)
Q◯Penなどのペンツールは空中に描く仕様の中、このギミックでは、コリジョンに対してペン先が触った箇所に、メッシュを生成する方式を取っています。 従来のペンツールではTrail Rendererというものを使用していて、要するにTrail(例えばNyancatの虹のアレ)を描画するシステムを使って描くように実装されていますが、これだと紙のようなオブジェクトに描いたつもりでも、紙についていってくれません(Trailはおそらく動かせないため)。 このツールは、Trail Rendererを使わずに、メッシュを描く方式によって実現しており、描いた対象を動かしてもついてくるようになっています。 ネットワーク系の管理にはVRC Object Poolを使用しており、そのためInstantiateができません。
特記事項
(必須ではありません) VRC Object Syncを、Smart Object Syncと置き換えることをおすすめします。 ネットワーク使用量を減らしつつ、位置同期をよりきれいにすることができます。 Smart Object Sync - https://github.com/MMMaellon/SmartObjectSync

