float elapsed = 0f; while (elapsed < shakeDuration) Vector3 randomOffset = Random.insideUnitSphere * shakeMagnitude; transform.localPosition = originalPos + randomOffset;
elapsed += Time.deltaTime; yield return null; transform.localPosition = originalPos; transform.localRotation = originalRot;
private Vector3 originalPos; private Quaternion originalRot; private float shakeDuration = 0f; private float shakeMagnitude = 0.1f;