This document is about: FUSION 2
SWITCH TO

MX Ink Integration

Fusion XR プロトタイピングアドオン

このアドオンは、Logitech MX Ink penをFusionプロジェクトに導入する方法を示します。

これはUnity integration packageを含み、Meta SDKがインストールされていない・ペンが利用不可などの特別なエラー制御や、コンポーネントで継承可能になるような修正が行われています。

内容

HardwareMXPen

HardwareMXPenコンポーネントは、LogitechのUnity integration packageの中で提供されている親クラスVrStylusHandlerを微修正したものです。

大部分は、エディター上でMX Inkのエミュレーションを強制するもので、2つのオプションがあります。

  • forceRightHandPentrueの場合、エディター上では、右コントローラーがMX Penとして扱われます(実際にMX Penであるかどうかにかかわらず)

  • forcedHandPenIsAController:デフォルトでは、先端の入力圧はコントローラーのxスティック軸になり、圧無しの値は1、最大圧の値は0になります。trueの場合、このロジックが反転し、コントローラーは描画を行わないものとして使用できます。falseの場合、デフォルトのロジックが使用され、実際のMX Penが通常通り振る舞うコントローラーになります。

HardwareMXPenは、ローカルのペンを検知するため、ハードウェアリグに付いていることを想定しています。
VrStylusHandlerと同じように、left_touch_controllerright_touch_controllerが提供されていて、コントローラーのかわりにペンが検知された時に適切な方を非表示にします。

NetworkMXPen

NetworkMXPenクラスは、LineDrawingアドオンのNetworkLineDrawerを操作します。

現在の実装は、以下のようなロジックになっています。

  • MX Inkか先端ボタンが押された時に描画点を追加する(そして必要に応じて、線の描画を開始する)
  • 入力圧が0になったら、現在の線の描画を停止する
  • 別のボタンが押されたら、現在の描画を停止する
  • ペンの停止を検知したら、現在の描画を停止する

またこのクラスは、MX Inkが手と置き換わった時に、どちらのネットワークリグを隠すかの指定を管理します。NetworkHandコンポーネント使用時にautomaticallyDetectNetworkHands値をtrueに設定すると、これは自動的に調整が行われます。

依存関係

デモ

デモシーンはAssets\Photon\FusionAddons\MXInkIntegration\Demo\フォルダーにあります。

このシーンをテストする場合は、Meta Packagesがプロジェクトにインストールされている必要があります。
あるいは、Meta Packagesを含むMeta XR integrationプロジェクトを使用して、直接テストすることもできます。

Download

このアドオンの最新バージョンは、無料のXR アドオンのプロジェクトに含まれています。

対応するトポロジー

  • 共有モード

更新履歴

  • Version 2.0.1:
    • Add collider to prefab, and some fixes to ensure BlockingContact compatibility
    • Add feedback class
  • Version 2.0.0: First release
Back to top