【clusterワールド制作忘備録】VRユーザーが壁に触るとワープする現象の原因と対処法
【発生条件と対処法】
大きなコライダーの内側にいる状態でアバターがコライダーにめり込むと発生します。よくあるのは以下のパターンです。
演出・ギミック用コライダーのIs Triggeerのチェックが外れている
背景描画用の大きなメッシュにコライダーが設定されている
室内ワールドで、建物全体にBox ColliderやMesh Collider(Convex)が設定されている
基本的には当該コライダーのアバターとの衝突判定を無効化すれば解消されます。1の場合はコライダーのIs Triggerにチェックを入れる、2の場合はコライダーを無効にするか削除してください。
3の外壁コライダーの場合、コライダーを無効にすると壁として機能しなくなるので、コライダーの配置を変える必要があります。大きなコライダーで建物全体を覆うのではなく、壁1枚ごとにコライダーを設定してください。
【原因】
コライダーにアバターが接触するとコライダーの外側に押し出されますが、このとき「現在アバターと重なっているすべてのコライダーの外側」に押し出されるようです。既に大きなコライダー(図①)の内側にいる状態で別のコライダー(図②)に接触すると、大きなコライダーの外側まで押し出され、ワープしたように見えます。
アバターがコライダーに重なる動きは、基本的にVRモードでなければ出来ません(デスクトップモードの場合、コライダーの手間でアバターの移動が止まるようです)。VRユーザーだけに発生するのはこのためです。
以上、ご確認のほどよろしくお願いいたします。