ビートセイバーでは、VR空間内で自由に立ち位置を変えることができます。プレイエリアが許す範囲で、いくらでも前に、あるいは後ろに立つことが可能です。
このとき、ゲーム内ではいったいどういう違いが発生しているのか、どちらに立ったほうが有利なのか、考えたことはありませんか?
ビートセイバーでは、ノーツはプレーヤーの頭(HMD)位置との相対距離で接近してきます。例えば、プレーヤーが後ろ歩きを始めると、ノーツはより速く近づくようになり、プレーヤーとの相対速度はほとんど変わらない状態を維持します。
つまり、ノーツはプレーヤーとの相対的な位置関係で近づいてくるので、立ち位置を前にしても、後ろにしても、ノーツを切るタイミングが変わることはありません。
例えば、2拍目にノーツが置かれた譜面の場合、後ろのほうに立ったからタイミングが遅れて2.1拍目になる、ということはありません。どこに立っても、ノーツを切るタイミングは同じです。
下の動画は、ノーツの移動速度が0になっているとどうなるか、という例です。プレーヤーの位置に合わせてノーツも連動して動きます。
ビートセイバーのノーツを注意深く見てみると
1. 高速で床を這って近づいてくる
2. ノーツジャンプ位置で光の柱のエフェクトが発生して、譜面で設定された高さまで浮き上がってくる
という動きをしていることがわかります。
このノーツジャンプ位置は、プレーヤーの立ち位置によって変化はしません。譜面に設定されている初期値と、プレーヤーオプションから決まります。
例えば、ランク譜面最難関の「Ov Sacrament and Sincest (Expert+)」では、下記のように設定されています。
ジャンプ位置を決定するのに使用されるのは以下の部分です。
- BPM (1分あたりの拍)
- Spawn Distance Modifier (デフォルトの4拍からどの程度前後させるか)
- Note Jump Speed (ノーツ速度)
この譜面の場合、BPM 340、Spawn Distance Modifier -1.4、NJS 24 となっています。1拍あたりの秒数 60 / 340 ≒ 0.18 と、Spawn Distance (基準の 4 からマイナス 1.4) を掛け合わせて
- (60 / 340) * (4 - 1.6) ≒ 0.46 秒がジャンプ開始からプレーヤー到達までの時間
NJS の 24 を掛け合わせて
- (60 / 340) * (4 - 1.6) * 24 ≒ 11 メートルがジャンプ位置までの距離
これが譜面に設定されたデフォルトの状態になります。
また、ノーツジャンプは Player Options (プレーヤーオプション) でも調整可能です。
Jump Duration Type: Dynamic の場合、譜面の Spawn Distance Modifier に対して補正がかかります。
Close: -0.5
Closer: -0.25
Default: 0
Farther: 0.25
Far: 0.5
「Ov Sacrament and Sincest (Expert+)」では、Close にすると、
- (60 / 340) * (4 - 1.6 - 0.5) * 24 ≒ 8 メートルがジャンプ位置までの距離
一方、Far にすると、
- (60 / 340) * (4 - 1.6 + 0.5) * 24 ≒ 12.3 メートルがジャンプ位置までの距離
となるわけです。
また Jump Duration Type: Static の場合は、直接ジャンプの時間を指定することが可能です。つまり、選択した数値に NJS を掛けた値がジャンプ位置までの距離になります。
「Ov Sacrament and Sincest (Expert+)」では、最小の 0.2s にすると、
- 0.2 * 24 ≒ 4.8 メートルがジャンプ位置までの距離
一方、最大の 1.0s にすると、
- 1.0 * 24 ≒ 24 メートルがジャンプ位置までの距離
となります。
ちなみに、公式そのままでは0.1秒単位での調整しかできませんが、0.01秒単位で調整できるようにするmodも作ってます。
最初の項で、プレーヤーがどこに立とうがノーツを切るタイミングは変わらない、と書きました。そして次の項では、プレーヤーの位置に関係なくノーツジャンプ位置は固定と書きました。
つまり、固定の位置から飛んで来るノーツが、必ずプレーヤーのいる場所に同タイミングで到達するわけです。これがどういうことかというと…、プレーヤーの立ち位置によってノーツの速度が変わってしまうことになります。
譜面には NJS というノーツ速度が設定されています。前述したように、この NJS の速度でノーツが動くようにノーツジャンプ位置が決められるわけですが、これはあくまでプレーヤーがプレイエリアの中心にいる状況を想定しています。
もし、プレーヤーが極端に前、あるいは後ろに立つと、どういうことが起こるのでしょう?次のような例を考えてみましょう。
1. 「Ov Sacrament and Sincest (Expert+)」、プレーヤーオプションはすべてデフォルト設定。プレーヤーはプレイエリア中心。
この場合、最初に書いた通り、プレーヤーから見て 11m の位置からノーツが浮き上がり、秒速 24m でノーツが近づいてきます。
2. 「Ov Sacrament and Sincest (Expert+)」、Jump Duration Type: Static で 1.0s。プレーヤーはプレイエリア中心の前方 13m の位置に立つ。
この場合、プレーヤーから見て 11m の位置からノーツが浮き上がるのは 1. と同じです。24m のジャンプ位置に対して 13m 近づいたわけですからね。ただし、近づいてくるまでの時間は 1.0 秒です。つまり、ノーツが近づいてくる速度は秒速 11m。本来 NJS 24 の高速譜面が、実質 NJS 11 (実際は固定速度にはなりません) になってしまいました。
3. 「Ov Sacrament and Sincest (Expert+)」、Jump Duration Type: Static で 0.2s。プレーヤーはプレイエリア中心の後方 6.2m の位置に立つ。
この場合も、プレーヤーから見て 11m の位置からノーツが浮き上がるのは 1. と同じです。4.8m のジャンプ位置に対して 6.2m 離れて同じになるように調整しました。ただし、近づいてくるまでの時間は 0.2 秒です。つまり、ノーツが近づいてくる速度は秒速 55m。実質 NJS 55 (こちらも実際は固定速度にはなりません) です。
実際にこれを比較してみた動画が以下になります。2つとも、プレイ位置の 1m 後方( (-1m と 12m のポイント) にカメラを置いて撮影しています。
1. では、ノーツ速度は 86.4km/h (秒速 24m) になります。これが通常です。
2. です。処理上の都合で、速度が固定されませんが、1. よりも明らかにノーツが遅くなっているのがわかると思います。
この「Ov Sacrament and Sincest (Expert+)」の場合、ノーツ密度が高い譜面で、速度が落ちると視認性も悪くなるので、かならずしも有利とも言えないのですが、これが単純に速度が速いだけのテックや脳トレ譜面だとしたら…。
なるべく前に立ち、その前方に移動した分だけ、ノーツジャンプ位置を奥にすると、NJS を下げる効果があります。普通のプレイスペースであれば移動できるのはせいぜい1m程度だと思うので気持ち程度ですが、速すぎる!と思った譜面で試してみるのはいかがでしょうか。
ちなみに、公式のルーム設定を使うと mod なしでも 5m まで前方にいけますが…、あまりおかしなことをすると、ScoreSaber から ban される可能性もあるので、やめておいたほうが良いでしょう。
Beat Leader では、極端に前に立った場合、スコア認定されないような対策が入ったようです。
なるるるるな / NALULUNA
2023-02-23 04:39:36 +0000 UTC東京にゃんこTokyoCat
2023-02-23 04:36:22 +0000 UTC