Esempio n. 1
0
    // Token: 0x060051E2 RID: 20962 RVA: 0x001C09CC File Offset: 0x001BEDCC
    public static Transform GetTrackedTransform(VRC_PlayerApi player, VRC_PlayerApi.TrackingDataType tt)
    {
        if (player == null)
        {
            return(null);
        }
        Transform result = null;

        if (tt != VRC_PlayerApi.TrackingDataType.Head)
        {
            if (tt != VRC_PlayerApi.TrackingDataType.LeftHand)
            {
                if (tt == VRC_PlayerApi.TrackingDataType.RightHand)
                {
                    IkController componentInChildren = player.GetComponentInChildren <IkController>();
                    if (componentInChildren != null)
                    {
                        result = componentInChildren.RightEffector.transform;
                    }
                }
            }
            else
            {
                IkController componentInChildren = player.GetComponentInChildren <IkController>();
                if (componentInChildren != null)
                {
                    result = componentInChildren.LeftEffector.transform;
                }
            }
        }
        else if (player.isLocal)
        {
            VRCTrackingManager vrctrackingManager = UnityEngine.Object.FindObjectOfType <VRCTrackingManager>();
            if (vrctrackingManager != null)
            {
                Camera componentInChildren2 = vrctrackingManager.GetComponentInChildren <Camera>();
                if (componentInChildren2 != null)
                {
                    result = componentInChildren2.transform;
                }
            }
        }
        return(result);
    }
Esempio n. 2
0
    // Token: 0x060051E1 RID: 20961 RVA: 0x001C0900 File Offset: 0x001BED00
    public static VRC_PlayerApi.TrackingData GetTrackingData(VRC_PlayerApi player, VRC_PlayerApi.TrackingDataType trackedDataType)
    {
        Transform transform = null;

        if (trackedDataType != VRC_PlayerApi.TrackingDataType.Head)
        {
            if (trackedDataType != VRC_PlayerApi.TrackingDataType.LeftHand)
            {
                if (trackedDataType == VRC_PlayerApi.TrackingDataType.RightHand)
                {
                    if (player.isLocal)
                    {
                        transform = VRCTrackingManager.GetTrackedTransform(VRCTracking.ID.HandTracker_RightPalm);
                    }
                    else
                    {
                        transform = InternalSDKPlayer.GetBoneTransform(player, HumanBodyBones.RightHand);
                    }
                }
            }
            else if (player.isLocal)
            {
                transform = VRCTrackingManager.GetTrackedTransform(VRCTracking.ID.HandTracker_LeftPalm);
            }
            else
            {
                transform = InternalSDKPlayer.GetBoneTransform(player, HumanBodyBones.LeftHand);
            }
        }
        else if (player.isLocal)
        {
            transform = VRCTrackingManager.GetTrackedTransform(VRCTracking.ID.Hmd);
        }
        else
        {
            transform = InternalSDKPlayer.GetBoneTransform(player, HumanBodyBones.Head);
        }
        return((!(transform == null)) ? new VRC_PlayerApi.TrackingData(transform.position, transform.rotation) : new VRC_PlayerApi.TrackingData(Vector3.zero, Quaternion.identity));
    }