Fix camera position when changing avatars

This commit is contained in:
Pascal Serrarens 2023-05-08 17:34:53 +02:00
parent ba8d8cf6e0
commit 115fe62c49
2 changed files with 14 additions and 0 deletions

View File

@ -82,6 +82,17 @@ namespace Passer.Humanoid {
return sensorComponent as UnityXRHmd; return sensorComponent as UnityXRHmd;
} }
public void UpdateSensorLocation() {
Vector3 position = headTarget.transform.TransformPoint(headTarget.head2eyes);
Quaternion rotation = headTarget.transform.rotation;
UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
sensorComponent = unityXRtracker.GetHmd(position, rotation);
sensorComponent.transform.position = position;
sensorComponent.transform.rotation = rotation;
}
#endregion #endregion
#region Start #region Start

View File

@ -453,6 +453,9 @@ namespace Passer.Humanoid {
AddCharacterColliders(); AddCharacterColliders();
avatarNeckHeight = GetAvatarNeckHeight(); avatarNeckHeight = GetAvatarNeckHeight();
if (headTarget.unityXR != null)
headTarget.unityXR.UpdateSensorLocation();
switch (scaling) { switch (scaling) {
case ScalingType.SetHeightToAvatar: case ScalingType.SetHeightToAvatar:
SetTrackingHeightToAvatar(); SetTrackingHeightToAvatar();