Persistent Pen(永続ペン)

このサンプルでは、プレイヤーがペンを使用して最大20本の線を描くことができます。線はすべてのプレイヤー間で同期されます。消しゴムを使用すると、ローカルのプレイヤーが描いた線をハイライトして削除できます。
実際に試すには、Persistent Pen Example World を訪れてください!
サンプルの使用方法
シーンを再生し、ペンを手に取ります。ペンをあまり動かさずに「Use」をタップすると、利用可能な色を順番に切り替えることができます。「Use」を押したままペンを動かすと3D空間に線を引くことができ、「Use」を離すと線が確定します。
ペンを離して消しゴムを手に取り、消しゴムを直接線に重ねます。既知の不具合:ClientSimでは線がハイライト表示されませんが、VRChatクライアント上では正しく動作します。
「Use」を押すと選択した線が削除され、20本の線コレクションに戻ります。
シーンを停止してから再度開始すると、線が復元されることが確認できます。
サンプルのインポート
以下の手順に従って、このサンプルを Unity プロジェクトに追加します。
- Unity エディターのメニューの「VRChat SDK > 🏠 Example Central」から Example Central ウィンドウ を開きます。
- リストの中からこのプレハブを探すか、タイトル(このページのタイトルと同じ)で検索します。
- 「Import」ボタンを押して、Unitypackage をプロジェクトにインポートします。
技術的詳細
SimplePenSystemにはVRCPlayerObjectコンポーネントが設定されています。これにより、ワールド内の各プレイヤーに対して自動的に生成され、退出時に削除されるようVRChatに指示が出されます。VRCEnablePersistenceは、各線の位置、点、色など、ペンシステムのすべての同期プロパティが自動的に保存および読み込みされることを保証します。
Udonプログラムの詳細
この体験は2つのプログラムによって動作します。1つはペン用、もう1つは各線用です。
Udon Pen
シーン内のSimplePenSystem/PenにあるUdon Penスクリプトを確認してください。
Palette Colorとして使用されるグラデーションを変更すると、利用可能な色を切り替えることができます。
Lines
ペンが使用する線(Lines)はSimplePenSystem/Linesで見つけることができます。
- ペンごとの線の数を増やしたい場合は、既存の線を複製するだけで完了です!他の変更は必要ありません。
- 線の幅やマテリアルを個別に設定するなど、線ごとの変更を行うことが可能です。
ロードマップ
今後、このサンプルに対して以下の改善を予定しています。
- ペンがプレイヤーから一定距離以上離れたらリスポーンさせる。
- ボタンを長押ししてパレットを表示し、使用したい色に移動して選択するカラーピッカーを追加する。
- 無制限に線を描けるようプレハブをリファクタリングする。
最終更新: