// 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; } } }
// 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); } }
// 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; }