このBeatSaberプラグインは、ステージ上のプレイヤー(HMD)の位置をグラフィカルに表示します。
部屋の環境に合わせて前後左右の限界ラインを設定して、限界に近づきすぎると青色から黄色、赤色にマークの色が変わります。
**の壁抜け判断用に、X軸が±0.011mの範囲になると白色にマークの色が変わります。
ポーズ中に表示位置を好きな場所に移動できます。また、枠やマークのサイズ等も設定から自由に変更可能です。
-
リリースページから最新のStagePositionViewerのリリースをダウンロードします。
-
ダウンロードしたzipファイルを
Beat Saber
フォルダに解凍して、Plugin
フォルダにStagePositionViewer.dll
ファイルをコピーします。 -
CameraUtilsに依存するため、
CameraUtils.dll
をダウンロードしてPlugin
フォルダにコピーしてください。
-
まず適当な譜面をスタートして、すぐにポーズして下さい。そうすると下記画面の様に座標が表示されます。
-
その状態で部屋の前後左右に移動して、これ以上行けない場所の座標を覚えるかメモします。前後はZで、左右はXです。
例えば、前方ギリギリの場所がZ:0.7、後方ギリギリの場所がZ:-0.5、右側ギリギリの場所がX:1.2、左側ギリギリの場所がX:-1.2だとします。
-
メニューに戻って、左のMOD設定画面から
STAGE POSITION VIEWER
の設定画面を開きます。 -
設定の下の方にある
Front, Back, Right, Left Limit Line [m]
を、それぞれ先程調べた座標値に設定します。マイナスは無視してプラス値で入れて下さい。 -
その下にある
Yellow, Red Warning
は、Limit Lineに何%近づくとマークの色が変わるかの設定です。好みで調整して下さい。 -
再度、適当な譜面をプレイしてポーズして、限界ラインが変わったか確認します。
-
次に表示位置です、ポーズ中は白いハンドルが上部に表示されるので、それをコントローラでつかんで移動できます。
-
奥行き方向の移動はやりにくいので、一旦先程の設定画面に戻って
Screen Z Position
で調整して下さい。値を小さくするほど近づきます。 -
画面の**にしたい場合は
RESET CENTER
ボタンを押して下さい。また傾きをなくして真正面に向けたい場合はRESET ROTATION
を押して下さい。初期位置に戻したい場合はDEFAULT POSITION
です。 -
奥行方向を移動させる時は
Screen Size
も調整して下さい。値を大きくすると表示が大きくなります。 -
位置が決まったら
Lock Screen Position
をONにすると、ポーズしても移動できなくなります。 -
HMD Only View
をONにすると、HMDのみに表示してデスクトップカメラからは表示が消えます。ダンスの録画などにどうぞ。 -
X Center Signal
をOFFにすると、X(横方向)が壁抜け出来る中心部分でマークが白色にならなくなります。ボッ立ちプレイしない人、白色変化が煩わしい人はOFFにして下さい。 -
位置の取得対象デバイスは、HMD以外にも任意のトラッカー等を指定できます。ダンスプレイ等では腰トラにしたほうが身体の中心が分かって良いかもしれません。使用する場合は
Custom Target Device
をONにして、Custom Target Device 1/2
を設定して下さい。2つ設定すると、2デバイスの中間になります。座標が身体の中心からズレている場合はTarget Device X/Z Offset [m]
で調整して下さい。 -
デバイスIDがどれになるかは
TRACKED DEVICE POSITION GET
を押すとデバイス座標一覧が更新されるので、Y座標等から判断して確認して下さい。ちなみにベースステーション等も表示されています、Y座標が2m以上になっているので判ると思います。
項目 | デフォルト値 | 説明 |
---|---|---|
Enable | ON | modの機能を有効にします |
Lock Screen Position | OFF | ポーズ中の移動をできなくします |
Screen Z Position | 20 | 表示位置のZ位置 |
RESET CENTER | - | 表示位置のX位置を0にします |
RESET ROTATION | - | 表示位置のX,Y,Z角度を0にします |
DEFAULT POSITION | - | 表示位置を初期値にします |
HMD Only View | OFF | HMDのみに表示して、デスクトップカメラから表示を消します |
Position Value View | OFF | プレイ中も座標を表示します |
X Center Signal | ON | プレイヤーのX位置が壁抜け出来る範囲の時に白色マークにします |
Screen Size | 40 | 表示画面の大きさ |
Front Limit Line [m] | 0.6 | 前方の限界ライン |
Back Limit Line [m] | 0.6 | 後方の限界ライン |
Right Limit Line [m] | 1.3 | 右側の限界ライン |
Left Limit Line [m] | 1.3 | 左側の限界ライン |
Yellow Warning | 40% | 限界ラインに近づいた時にマークが黄色になる位置 |
Red Warning | 80% | 限界ラインに近づいた時にマークが赤色になる位置 |
X Center Limit [m] | 0.011 | 壁抜けX位置の左右(±)の限界位置 |
Stage Line Width (Screen x) | 0.05 | ステージ表示ライン太さの、スクリーンサイズに対する割合 |
Player Mark Size (Screen x) | 0.3 | プレイヤーマークの大きさの、スクリーンサイズに対する割合 |
Custom Target Device | OFF | 位置取得対象のデバイスをトラッカー等からカスタムで選びます |
Custom Target Device 1 | NONE | カスタム対象デバイスNo.1 |
Custom Target Device 2 | NONE | カスタム対象デバイスNo.2 (2つ設定すると2デバイスの中間座標になります) |
Target Device X Offset [m] | 0 | カスタム対象デバイスのX座標オフセット値 |
Target Device Z Offset [m] | 0 | カスタム対象デバイスのZ座標オフセット値 |
TRACKED DEVICE POSITION GET | - | 現在のデバイス座標一覧を取得します |
OUTPUT LOG | - | デバイス座標一覧をmodのログに出力します |
項目 | デフォルト値 | 説明 |
---|---|---|
MovementSensitivityThreshold | 0.01 | 通常時のHMD移動検出の閾値 |
CenterMovementSensitivityThreshold | 0.001 | **部分でのHMD移動検出の閾値 |
CenterMovementSensitivityDistance | 0.02 | **部分の判断位置 |
StageWidth | 3.0 | ステージ横サイズ |
StageHight | 2.0 | ステージ縦サイズ |
CanvasMargin | 1.25 | キャンバスサイズのステージの枠に対する割合 |
DefaultLayer | UI | 通常表示時のUnityレイヤー |
HMDOnlyLayer | HmdOnlyAndReflected | HMDOnly有効時の表示レイヤー |
※レイヤー設定名はCameraUtilsのVisibilityLayerになります。
HMDの位置取得の参考にデンパ時計さんのHeadDistanceTravelled、ポジション表示の参考にBeatmapInformationのコードを流用・参考にしています。