Sticky Notes
このアドオンによって、付箋のディスペンサーが使用できるようになります。
ペンは付箋のテクスチャの更新に使用されて、各付箋はマグネット状の平面にスナップされます。
描画自体はTextureDrawingアドオンで制御され、貼り付けはMagnetsアドオンで処理されます。
StickyNoteDispenser
StickyNoteDispenserは、ユーザーがディスペンサーの付箋サンプル(編集不可)を掴んだ/離した時に、付箋プレハブをスポーンします。
これはXRSharedのGrabbablePrefabSpawnerクラスのサブクラスで、参照の掴む対象を動かした時にオブジェクトをスポーンします。
付箋がスポーンした時にMoveStickyNote()を呼び出すために、Awake()とResetReferencePose()メソッドをオーバーライドをしていて、動かした後に元の位置に戻るアニメーションや、新しい付箋が作られた跡を残します。
StickyNoteColorSelection
StickyNoteColorSelectionは、付箋の背景色の同期を行います。これはXRSharedのGrabbableColorSelectionクラスのサブクラスで、一般的な色変更と同期を行うクラスです。
このクラスは、ネットワーク変数CurrentColorに色を保存します。
FixedUpdateNetwork()内でCheckColorModification()メソッドを呼び出し、ジョイスティックを使用するローカルユーザーが付箋の色を変更したかをチェックします。
そこで、ChangeColor()がネットワーク変数CurrentColorを更新します。
すると、ChangeDetectorによってすべてのプレイヤーでOnColorChanged()が呼び出されます。
それから、オーバーライドしたApplyColorChange()から付箋のテクスチャを更新します。
デフォルトの付箋の色は、colorListの最初の色です。
StickyNote prefab
ネットワーク上の掴む対象のオブジェクトで必要になる通常のコンポーネントに加えて、プレハブには以下が含まれます。
- 付箋の色を管理する
StickyNoteColorSelection - マグネット状の平面に貼り付けるための
MagnetsアドオンのMagnetPoint - 付箋のテクスチャを管理する
TextureDrawingとTextureSurface - レイヤーを設定してペンが付箋外を通過することを防ぐための
DrawerContactzoneオブジェクトのLayerSetterとBlocking surface
テキストレイヤーを持つ、より複雑なプレハブについては、Meetingサンプルをご覧ください。
依存関係
- TextureDrawing addon
- BlockingContact addon
- Magnets addon
デモ
デモシーンはAssets\Photon\FusionAddons\StickyNotes\Demo\Scenes\フォルダーにあります。
ダウンロード
このアドオンの最新バージョンは、Industries アドオンのプロジェクトに含まれています。
また、無料のXR アドオンのプロジェクトにも含まれています。
対応するトポロジー
- 共有モード
更新履歴
- Version 2.0.1: Prefab update for compatibility with Sticky notes samples
- Version 2.0.0: First release