// void Update() { Ray ray = new Ray(transform.position, transform.forward); RaycastHit hit; if (Physics.Raycast(ray, out hit, 500, (1 << 20))) { VRLookAt lookAtComponent = hit.transform.GetComponent <VRLookAt>(); if (lookAtComponent != null && lookAtComponent.enabled) { if (lookAtComponent != _prevLookAt) { if (_prevLookAt != null) { _prevLookAt.LookAtStop(); } _prevLookAt = lookAtComponent; lookAtComponent.LookAtStart(); } lookAtComponent.LookAtUpdate(); } else { ResetLookAt(); } } else { ResetLookAt(); } }
// private void ResetLookAt() { if (_prevLookAt != null) { _prevLookAt.LookAtStop(); } _prevLookAt = null; }