/// <summary> /// Initialization on enable. /// </summary> public void OnEnable() { if (cameraRig == null) { return; } if (renderers == null) { renderers = this.transform.GetComponentsInChildren <SkinnedMeshRenderer>(); } if (eyeAnchor == null) { eyeAnchor = cameraRig.transform.Find("TrackingSpace/CenterEyeAnchor"); } characterJoints = new CharacterGameObjects(); }
// Use this for initialization void Start() { // Find and set character joints characterJoints.SetLimbs(this.transform, false); // Create mirrored Avatar if (showMirror) { // Copy avatar GameObject avatar = this.transform.gameObject; GameObject mirroredAvatar = Instantiate(avatar) as GameObject; mirroredAvatar.SetActive(false); // Delete unnecessary components foreach (Component component in mirroredAvatar.GetComponents <Component>()) { if (!(component is Transform)) { Destroy(component); } } mirroredCharacterJoints = new CharacterGameObjects(); mirroredCharacterJoints.SetLimbs(mirroredAvatar.transform, false); } /* * // Disable avatars mesh as long the camera rig is not orientated * if (useInternalTracking) { * foreach (SkinnedMeshRenderer renderer in renderers) { * renderer.enabled = false; * } * } */ // Attach camera rig to characters head (eyes) (if no internal tracking used) if (!useInternalTracking) { Transform head = characterJoints.head; cameraRig.transform.parent = head; cameraRig.transform.localPosition = cameraOffset; sixDOFBodyRotation = head.localRotation; } }