Cosmic Strike
 
Cargando...
Buscando...
Nada coincide
Referencia de la clase CameraShake

Componente que permite aplicar un efecto de sacudida temporal a la cámara. Ideal para generar feedback visual ante explosiones, colisiones o eventos importantes. Más...

+ Diagrama de herencia de CameraShake
+ Diagrama de colaboración de CameraShake:

Métodos públicos

void Shake (float duration, float magnitude)
 Lanza una sacudida de cámara. Interrumpe cualquier sacudida anterior y comienza una nueva.
 

Métodos privados

IEnumerator DoShake (float duration, float magnitude)
 Corrutina que realiza el efecto de sacudida desplazando la cámara en valores aleatorios. Al finalizar, restaura la posición original del transform.
 

Descripción detallada

Componente que permite aplicar un efecto de sacudida temporal a la cámara. Ideal para generar feedback visual ante explosiones, colisiones o eventos importantes.

Definición en la línea 16 del archivo CameraShake.cs.

Documentación de funciones miembro

◆ DoShake()

IEnumerator CameraShake.DoShake ( float duration,
float magnitude )
inlineprivate

Corrutina que realiza el efecto de sacudida desplazando la cámara en valores aleatorios. Al finalizar, restaura la posición original del transform.

Parámetros
durationTiempo total de duración del efecto.
magnitudeIntensidad máxima del desplazamiento por eje.

Definición en la línea 36 del archivo CameraShake.cs.

37 {
38 Vector3 originalPos = transform.localPosition; // Guardamos la posición inicial
39 float elapsed = 0f;
40
41 while (elapsed < duration)
42 {
43 // Genera un desplazamiento aleatorio dentro de un rango [-magnitude, +magnitude]
44 float offsetX = (Random.value * 2f - 1f) * magnitude;
45 float offsetY = (Random.value * 2f - 1f) * magnitude;
46
47 // Aplica el desplazamiento a la posición local
48 transform.localPosition = originalPos + new Vector3(offsetX, offsetY, 0f);
49
50 // Avanza el tiempo transcurrido y espera al siguiente frame
51 elapsed += Time.deltaTime;
52 yield return null;
53 }
54
55 // Al terminar, restauramos la posición original para evitar acumulaciones
56 transform.localPosition = originalPos;
57 }

Referenciado por Shake().

+ Gráfico de llamadas a esta función:

◆ Shake()

void CameraShake.Shake ( float duration,
float magnitude )
inline

Lanza una sacudida de cámara. Interrumpe cualquier sacudida anterior y comienza una nueva.

Parámetros
durationDuración del temblor en segundos.
magnitudeMagnitud del desplazamiento aleatorio aplicado en cada frame.

Definición en la línea 24 del archivo CameraShake.cs.

25 {
26 StopAllCoroutines(); // Detenemos cualquier sacudida en curso para evitar superposición
27 StartCoroutine(DoShake(duration, magnitude));
28 }
IEnumerator DoShake(float duration, float magnitude)
Corrutina que realiza el efecto de sacudida desplazando la cámara en valores aleatorios....

Hace referencia a DoShake().

+ Gráfico de llamadas de esta función:

La documentación de esta clase está generada del siguiente archivo: