見出し画像

【clusterワールド制作忘備録】VRユーザーが壁に触るとワープする現象の原因と対処法

【発生条件と対処法】

大きなコライダーの内側にいる状態でアバターがコライダーにめり込むと発生します。よくあるのは以下のパターンです。

  1. 演出・ギミック用コライダーのIs Triggeerのチェックが外れている

  2. 背景描画用の大きなメッシュにコライダーが設定されている

  3. 室内ワールドで、建物全体にBox ColliderやMesh Collider(Convex)が設定されている

基本的には当該コライダーのアバターとの衝突判定を無効化すれば解消されます。1の場合はコライダーのIs Triggerにチェックを入れる、2の場合はコライダーを無効にするか削除してください。

3の外壁コライダーの場合、コライダーを無効にすると壁として機能しなくなるので、コライダーの配置を変える必要があります。大きなコライダーで建物全体を覆うのではなく、壁1枚ごとにコライダーを設定してください。

こういうことです

【原因】

コライダーにアバターが接触するとコライダーの外側に押し出されますが、このとき「現在アバターと重なっているすべてのコライダーの外側」に押し出されるようです。既に大きなコライダー(図①)の内側にいる状態で別のコライダー(図②)に接触すると、大きなコライダーの外側まで押し出され、ワープしたように見えます。

アバターがコライダーに重なる動きは、基本的にVRモードでなければ出来ません(デスクトップモードの場合、コライダーの手間でアバターの移動が止まるようです)。VRユーザーだけに発生するのはこのためです。

以上、ご確認のほどよろしくお願いいたします。

いいなと思ったら応援しよう!