VRChat ワールドでジャンプできる高さ

こんにちは!Klueleです。

VRChatではワールド別にジャンプできる高さが決まっています。ジャンプが全然できない場所もありますが、常識ではありえない高さまで跳べることもあり、それが爽快感にもなっています。

このジャンプできる高さは、何で決まってるのでしょうか?

ワールドにはジャンプで飛び上がる早さと、重力の強さを設定でき、それでジャンプできる高さが決まります。

ジャンプで飛び上がる速さは、VRC_Player Modsコンポーネントで指定できます。デフォルトだとjumpPowerは3になっています。
(VRC_WorldにVRC_Player Modsを付けない場合はジャンプできません)

重力加速度はMenu -> Edit -> Project Settings -> PhysicsのGravityのYの値で変更できます。デフォルトだとリアルに近い-9.81になっています。

ジャンプできる高さをHとすると、

H= -0.5 × jumpPower^2 / Gravity = -0.5 × 3^2 / -9.81 = 0.4587... [m]
がジャンプできる高さになります。
(Unity上では1/60秒単位で状態が更新されるので、0.03m程度の誤差の可能性があります)

jumpPowerを3から増やしていくと、ジャンプできる高さは2乗に比例して高くなっていきます。また、Gravityの絶対値を小さくすると反比例してジャンプできる高さは高くなります。Gravityの絶対値を小さくすると落ちはじめがゆっくりになり、浮力があるような挙動になります。

実際に落ちることを考えると個人的にはGravity=-9.81は強めな気がするので、-5くらいのほうが高所恐怖症の人にも優しい・・・?かもしれません。

また、アバターにはジャンプなしでも登ることができる高さがあります。これは50cmくらいに設定されているようです。そのため、下図のように10cmずつ高くなる階段のようなオブジェクトを作ると、デフォルトでは90cmまでは地面からジャンプして乗ることができ、100cmには乗ることができません。(ジャンプ力45.87cm+50cm < 100cm )

ワールドの地形を考えるときにはこのことを考慮して作ると、入れる場所/入れない場所を作り分けしやすいです。

ここでは、VRChatのワールドでジャンプできる高さについて説明しました。
それでは楽しいVRChatライフを!


この記事が気に入ったらサポートをしてみませんか?