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の下にあります。
- ペンごとに使用できるLinesを増やしたい場合は、既存のLinesをいくつか複製してください!他の変更は必要ありません。
- 線ごとに幅やマテリアルを個別に設定するなど、変更を加えることができます。
ロードマップ
今後、このサンプルに以下の改善を行う予定です:
- ペンがプレイヤーからXユニット以上離れたときに再スポーンさせる。
- ボタンを長押しするとパレットが表示され、使用したい色まで移動して選択するカラーピッカーを追加する。
- 無限のLinesに対応できるようプレハブをリファクタリングする。
最終更新: