internal void RotateAroundInternal(Vector3 worldAxis, float rad) { Vector3 localAxis = InverseTransformDirection(worldAxis); if (localAxis.sqrMagnitude > Vector3.kEpsilon) { localAxis.Normalize(); Quaternion q = Quaternion.AxisAngleToQuaternionSafe(localAxis, rad); m_LocalRotation = Quaternion.NormalizeSafe(m_LocalRotation * q); SetDirty(); } }