コンテンツにスキップ
JA

その他のコンポーネント

Trigger 系は Trigger コンポーネント、Parameter Binding は Parameter Binding を参照。ここではそれ以外のランタイムコンポーネントを扱う。いずれも Add Component → Hapbeat/ から追加できる。

コンポーネント役割
Hapbeat Address Override Panelplayer / group を実行時に設定する UI を自動生成
Hapbeat Status Overlay接続状態とイベント履歴を UI Text に表示するデバッグ HUD
Hapbeat Key Dispatcher単一キー押下を UnityEvent にマップ
Hapbeat Action HelperStop / StopAll / StopStream / Ping を Inspector から呼べるようにする
Hapbeat Event Logger (Diagnostic)UnityEvent の発火を時刻付きで Console に出力

GameObject に 1 つ追加するだけで、Player -/+ ・ Group -/+ ・ Play ・ Apply ・ Exit を備えた実行時 UI が生成される。シーン側で UI 階層を組む必要はない。用途と設計の背景は ターゲティング を参照。

項目既定内容
SpaceScreenSpaceOverlay画面固定 HUD。VR で空間に置く場合は WorldSpace
World Attach ModeLazyFollowLazyFollow = 視界から外れたときだけ正面へ移動 / WorldFixed = 置いた場所に固定
Follow Distance1.5 mWorldSpace 時のカメラからの距離
Follow Vertical Offset0 m同、上下位置
Follow Deadzone Degrees10°この角度内にある間は移動しない
Follow Smooth Seconds0.25 s移動の時定数
World Pixel Density3(範囲 1〜8)WorldSpace 時のフォントのラスタライズ解像度

Follow Camera を未設定にすると Camera.main を使う。カメラが見つからない場合は警告を 1 回出して WorldFixed 相当で動作する。

コントローラー操作を受け付ける

Section titled “コントローラー操作を受け付ける”

RegisterFocusable / MoveFocus / ActivateFocused で 2D フォーカスグリッドを操作できる。Play / Exit の実処理は OnPlayRequested / OnExitRequested から外部で注入する。実装例は VR Config Example サンプル(→ VR Config Example)。

PanelCanvasTransform / IsFollowingView / FollowVerticalOffset / SnapToView() は public。自前の world-space UI をパネル Canvas の下にぶら下げたり、「視界中央へ戻す」操作を実装するために使う。

Editor(Air Link 等)では綺麗なのに Quest 実機ビルドだけ甘い場合、Quality レベルがプラットフォームごとに別であることが原因。Air Link での Editor Play は Standalone 側、実機ビルドは Android 側の設定を使う。

  • VR テンプレートの既定 URP アセット Mobile_RPAssetRender Scale 0.8Project Settings > Quality で Android 側が参照するアセットを開き 1.0 にすると改善する
  • パネルの World Pixel Density を上げると、同じ物理サイズのまま高い解像度でフォントをラスタライズする(フォントアトラスのメモリと引き換え)

いずれも利用側プロジェクトの設定であり、SDK からは変更できない。

接続状態とイベント履歴を 2 つの UI Text に流し込むデバッグ HUD。

  • Status — 接続状態 / ストリーミング中フラグ
  • Log — OnConnected / OnDisconnected / OnPong / OnError と Stream の遷移を 1 行ずつ。maxLogLines で上限を指定

動作確認用であり、製品ビルドに含める前提のものではない。

単一キーの押下を Inspector 上の UnityEvent にマップする。PlayerInput / InputAction を組むほどでもない場面(サンプル・プロトタイプ・デバッグ用)向け。

HapbeatUnityEventTriggerHapbeatActionHelper と組み合わせると、スクリプトを書かずにキー → 触覚発火の配線ができる。

HapbeatManager のシングルトン専用メソッド(Stop / StopAll / StopStream / Ping)を、インスタンスメソッドとして公開するラッパー。

UI Button・Key Dispatcher・Animation Event などの UnityEvent からターゲットとして直接指定できるようになるため、この用途のためだけに MonoBehaviour を書く必要がなくなる。

UnityEvent 経由で呼ばれるたびに、タグと時刻を付けた 1 行を Console に出力する診断用コンポーネント。

XRI の Interactable に貼り付けて hoverEntered / selectEntered などを全て配線すると、どのイベントがどの順序で飛ぶかを観測できる。配線先を決めるときに使い、通常はノイズになるので外す。

配線は Hapbeat > Attach Event Logger to Selected で自動化できる(→ Editor メニュー一覧)。