Esempio n. 1
0
 // Token: 0x06005A81 RID: 23169 RVA: 0x001F84D0 File Offset: 0x001F68D0
 private void SetupHead()
 {
     if (this.avatarAnimator != null && this.avatarAnimator.isHuman)
     {
         Transform boneTransform = this.avatarAnimator.GetBoneTransform(HumanBodyBones.Head);
         Transform transform     = this.speakSrc.transform;
         Transform transform2    = this.emojiGen.transform;
         if (this.cameraMount != null && transform.parent != boneTransform)
         {
             transform.parent  = boneTransform;
             transform2.parent = boneTransform;
         }
         EyeAndHeadAnimator component = this.avatarAnimator.GetComponent <EyeAndHeadAnimator>();
         if (component != null && component.enabled)
         {
             component.headWeight = 1f;
         }
     }
 }
Esempio n. 2
0
    // Token: 0x06004E98 RID: 20120 RVA: 0x001A5D10 File Offset: 0x001A4110
    private void Awake()
    {
        int num = 9;

        this._settings    = new string[num];
        this._settings[0] = "VrcSkel.dat";
        this._settings[1] = "VrcTemplate01.dat";
        this._settings[2] = "VrcToon01.dat";
        this._settings[3] = "VrcToon02.dat";
        this._settings[4] = "Mixamo.dat";
        this._settings[5] = "Fuse.dat";
        this._settings[6] = "AutodeskBlend.dat";
        this._settings[7] = "MorphNikeiM.dat";
        this._settings[8] = "MorphNikeiF.dat";
        foreach (string str in this._settings)
        {
            EyeAndHeadAnimator.Cache(Application.streamingAssetsPath + "/RealisticEyeMovements/Presets/" + str);
        }
    }
Esempio n. 3
0
        // Token: 0x06004D68 RID: 19816 RVA: 0x0019F428 File Offset: 0x0019D828
        private void SetEyeLookTarget(VRC_PlayerApi p, bool forceCam)
        {
            EyeLookController componentInChildren = p.gameObject.GetComponentInChildren <EyeLookController>();

            if (componentInChildren == null)
            {
                return;
            }
            EyeAndHeadAnimator componentInChildren2 = p.gameObject.GetComponentInChildren <EyeAndHeadAnimator>();

            if (componentInChildren2 == null)
            {
                return;
            }
            if (forceCam)
            {
                componentInChildren.SetPhotoMode(base.transform);
            }
            else
            {
                componentInChildren.SetDefaultMode();
            }
        }
        public void Initialize(bool lookAroundIdly = true)
        {
            if (isInitialized)
            {
                return;
            }

            if (createdVRParentGO != null)
            {
                DestroyNotifier destroyNotifier = createdVRParentGO.GetComponent <DestroyNotifier>();
                if (destroyNotifier != null)
                {
                    destroyNotifier.OnDestroyedEvent -= OnPlayerEyesParentDestroyed;
                }

                Destroy(createdVRParentGO);

                createdVRParentGO        = null;
                createdPlayerEyeCenterGO = null;
                createdPlayerLeftEyeGO   = null;
                createdPlayerRightEyeGO  = null;
            }

            eyeAndHeadAnimator = GetComponent <EyeAndHeadAnimator>();
            eyeAndHeadAnimator.Initialize();

            eyeAndHeadAnimator.OnTargetDestroyed         -= OnTargetDestroyed;
            eyeAndHeadAnimator.OnCannotGetTargetIntoView -= OnCannotGetTargetIntoView;
            eyeAndHeadAnimator.OnTargetOutOfSight        -= OnTargetOutOfSight;
            eyeAndHeadAnimator.OnUpdate2Finished         -= VeryLateUpdate;

            eyeAndHeadAnimator.OnTargetDestroyed         += OnTargetDestroyed;
            eyeAndHeadAnimator.OnCannotGetTargetIntoView += OnCannotGetTargetIntoView;
            eyeAndHeadAnimator.OnTargetOutOfSight        += OnTargetOutOfSight;
            eyeAndHeadAnimator.OnUpdate2Finished         += VeryLateUpdate;

            playerEyeCenterXform = playerLeftEyeXform = playerRightEyeXform = null;

            //*** Player eyes: either user main camera or VR cameras
            {
                                #if UNITY_2017_2_OR_NEWER
                useNativeVRSupport = useVR = XRDevice.isPresent && XRSettings.enabled;
                                #else
                useNativeVRSupport = useVR = VRDevice.isPresent && VRSettings.enabled;
                                #endif

                GameObject ovrRigGO = GameObject.Find("OVRCameraRig");
                if (ovrRigGO != null)
                {
                    useVR = true;
                    useNativeVRSupport = false;

                    playerLeftEyeXform   = Utils.FindChildInHierarchy(ovrRigGO, "LeftEyeAnchor").transform;
                    playerRightEyeXform  = Utils.FindChildInHierarchy(ovrRigGO, "RightEyeAnchor").transform;
                    playerEyeCenterXform = Utils.FindChildInHierarchy(ovrRigGO, "CenterEyeAnchor").transform;
                }
                else if (useNativeVRSupport)
                {
                    if (FindPlayerCamera() == null)
                    {
                        Debug.LogWarning("Main camera not found. Please set the main camera's tag to 'MainCamera'.");
                        useVR = false;
                        useNativeVRSupport = false;
                        lookAtPlayerRatio  = 0;
                    }
                    else
                    {
                        mainCameraXform          = FindPlayerCamera();
                        createdPlayerEyeCenterGO = new GameObject("CreatedPlayerCenterVREye")
                        {
                            hideFlags = HideFlags.HideInHierarchy
                        };
                        createdPlayerLeftEyeGO = new GameObject("CreatedPlayerLeftVREye")
                        {
                            hideFlags = HideFlags.HideInHierarchy
                        };
                        createdPlayerRightEyeGO = new GameObject("CreatedPlayerRightVREye")
                        {
                            hideFlags = HideFlags.HideInHierarchy
                        };

                        playerEyeCenterXform = createdPlayerEyeCenterGO.transform;
                        playerLeftEyeXform   = createdPlayerLeftEyeGO.transform;
                        playerRightEyeXform  = createdPlayerRightEyeGO.transform;

                        Transform playerXform = mainCameraXform;
                        createdVRParentGO = new GameObject("PlayerEyesParent")
                        {
                            hideFlags = HideFlags.HideInHierarchy
                        };
                        DontDestroyOnLoad(createdVRParentGO);
                        DestroyNotifier destroyNotifier = createdVRParentGO.AddComponent <DestroyNotifier>();
                        destroyNotifier.OnDestroyedEvent    += OnPlayerEyesParentDestroyed;
                        createdVRParentGO.transform.position = playerXform.position;
                        createdVRParentGO.transform.rotation = playerXform.rotation;
                        createdVRParentGO.transform.parent   = playerXform.parent;

                        createdPlayerEyeCenterGO.transform.parent = createdVRParentGO.transform;
                        createdPlayerLeftEyeGO.transform.parent   = createdVRParentGO.transform;
                        createdPlayerRightEyeGO.transform.parent  = createdVRParentGO.transform;

                        UpdateNativeVREyePositions();
                    }
                }

                if (false == useVR)
                {
                    if (FindPlayerCamera() != null)
                    {
                        playerEyeCenterXform = FindPlayerCamera();
                    }
                    else
                    {
                        Debug.LogWarning("Main camera not found. Please set the main camera's tag to 'MainCamera' or set Player Eye Center.");
                        lookAtPlayerRatio = 0;
                    }
                }
            }

            UpdatePlayerEyeTransformReferences();

            isInitialized = true;

            if (lookAroundIdly)
            {
                LookAroundIdly();
            }

            nextChangePOITime = 0;
        }