국가 선택/위치
Australia
Österreich
België
Canada
Canada - Français
中国
Česká republika
Denmark
Deutschland
France
HongKong
Iceland
Ireland
Italia
日本
Korea
Latvija
Lietuva
Lëtzebuerg
Malta
المملكة العربية السعودية (Arabic)
Nederland
New Zealand
Norge
Polska
Portugal
Russia
Saudi Arabia
Southeast Asia
España
Suisse
Suomi
Sverige
台灣
Ukraine
United Kingdom
United States
국가 선택/위치
België
Česká republika
Denmark
Iceland
Ireland
Italia
Latvija
Lietuva
Lëtzebuerg
Malta
Nederland
Norge
Polska
Portugal
España
Suisse
Suomi
Sverige

동일한 장면에서 다른 추적 자세 설정이 있는 헤드를 전환하려면 어떻게 해야 하나요?

다른 추적 자세 설정이 있는 헤드를 2개 이상 생성한 경우 한 헤드를 활성화하고 다른 헤드를 비활성화하지 않고 전환할 경우 헤드가 잘못된 자세 데이터를 사용합니다.

이 문제를 방지하려면 아래 단계를 따르십시오.

동일한 장면에서 헤드를 찾는 방법으로는 아래 두 가지가 있습니다. 이는 추적 원점 스타일(TrackingUniverseSeatedTrackingUniverseStanding)을 활용하여 두 헤드를 전환합니다. ChooseDoF의 퍼블릭 플래그 HowToFindHead를 사용하여 사용하려는 찾기 방법을 선택하십시오.

public class ChooseDoF : MonoBehaviour { public ETrackingUniverseOrigin trackingSpace = ETrackingUniverseOrigin.TrackingUniverseSeated; public bool HowToFindHead = false; void OnEnable() { if (HowToFindHead) method1(); else method2(); } // For method 1, it makes use of the Transform function to find the head you would like to take. void method1() { #if UNITY_5_5_OR_NEWER // Global find GameObject body1 = transform.root.Find("‍Body1"‍).gameObject; GameObject body2 = transform.root.Find("‍Body2"‍).gameObject; #else // Children find GameObject body1 = transform.Find("‍Body1"‍).gameObject; GameObject body2 = transform.FindChild("‍Body2"‍).gameObject; #endif if (trackingSpace == ETrackingUniverseOrigin.TrackingUniverseSeated) body1.SetActive(true); else body2.SetActive(true); } // For method 2, it traverses the component list to find the head you would like to take. void method2() { // Children find var list = GetComponentsInChildren<WaveVR_Render>(true);

                foreach (WaveVR_Render render in list) { var obj = render.transform.parent.gameObject; if (trackingSpace == ETrackingUniverseOrigin.TrackingUniverseSeated) { if (obj.name == "‍Body1"‍) { obj.SetActive(true); break; } } else { if (obj.name == "‍Body2"‍) { obj.SetActive(true); break; } } } } }
  1. 실행전에 모든 헤드를 비활성화합니다.
  2. GameObject에서 다음 중 하나를 수행합니다.
    • 추적 공간에서 추적 유니버스 시티드를 선택하여 Body1 Head를 활성화합니다.
    • 추적 공간에서 추적 유니버스 스탠딩을 선택하여 Body2 Head를 활성화합니다.
제출
감사합니다! 귀하의 피드백은 다른 사람들이 가장 도움이 되는 정보를 보는 데 도움이 됩니다.