public void ResetAix(Vector3 resRotate, ref Transform _aixY, ref Transform _aixX, ref Transform _aixZ) { if (_aixY == null || _aixX == null || _aixZ == null) { MyDebug.ToDebugLog("AixY == null || AixX == null || AixZ == null", Color.blue); return; } if (isReset) { if (Quaternion.Angle(Quaternion.Euler(0, resRotate.y, 0), _aixY.localRotation) > 0.01f || Quaternion.Angle(Quaternion.Euler(resRotate.x, 0, 0), _aixX.localRotation) > 0.01f || Quaternion.Angle(Quaternion.Euler(0, 0, resRotate.z), _aixZ.localRotation) > 0.01f) { //MyDebug.ToDebugLog("ResetAix", Color.red); if (Quaternion.Angle(Quaternion.Euler(0, resRotate.y, 0), _aixY.localRotation) > 0.01f) { _aixY.localRotation = Quaternion.Lerp(_aixY.localRotation, Quaternion.Euler(0, resRotate.y, 0), 2f * Time.deltaTime); } else { _aixY.localRotation = Quaternion.Euler(0, resRotate.y, 0); } if (Quaternion.Angle(Quaternion.Euler(resRotate.x, 0, 0), _aixX.localRotation) > 0.01f) { _aixX.localRotation = Quaternion.Lerp(_aixX.localRotation, Quaternion.Euler(resRotate.x, 0, 0), 2f * Time.deltaTime); } else { _aixX.localRotation = Quaternion.Euler(resRotate.x, 0, 0); } if (Quaternion.Angle(Quaternion.Euler(0, 0, resRotate.z), _aixZ.localRotation) > 0.01f) { _aixZ.localRotation = Quaternion.Lerp(_aixZ.localRotation, Quaternion.Euler(0, 0, resRotate.z), 2f * Time.deltaTime); } else { _aixZ.localRotation = Quaternion.Euler(0, 0, resRotate.z); } } else { isReset = false; } } }
public void ToUpdateParentAix(Vector3 resRotate, ref Transform _aixY, ref Transform _aixX, ref Transform _aixZ) { if (_aixY == null || _aixX == null || _aixZ == null) { MyDebug.ToDebugLog("AixY == null || AixX == null || AixZ == null", Color.blue); return; } _aixY.localEulerAngles = Vector3.up * resRotate.y; _aixX.localEulerAngles = Vector3.right * resRotate.x; _aixZ.localEulerAngles = Vector3.forward * resRotate.z; ToUpdateAix(AixY, AixX, AixZ); ToUpdateTransPos(); }