Archivo de la etiqueta: PlayerCameraManager

UE4 – Consejo del día 1: Efecto de FadeIn/FadeOut en la cámara

Sabías que ….

Mediante la función StartCameraFade del PlayerCameraManager puedes crear efectos “FadeOut” o “FadeIn” en la cámara de forma muy fácil !

Ejemplo: Vamos a crear una función en nuestro PlayerController que al llamarla comience un fundido a negro de 3 segundos y al terminar el fundido se reinicie el nivel.

void AMyPlayerController::StartFadeOutAndRestartLevel()
{
	// Nos aseguramos que el PlayerCameraManager sea válido
	if (PlayerCameraManager)
	{
		// Inicia el fundido a negro (demorando 3 segundos desde que inicia hasta que se vuelve todo negro)
		const float Duration = 3.0f;
		PlayerCameraManager->StartCameraFade(0.f, 1.f, Duration, FLinearColor::Black, false, true);

		// Despues de los 3 segundos, justo al terminar el fade out, reiniciamos el nivel
		FTimerHandle TimerHandle;
		GetWorldTimerManager().SetTimer(TimerHandle, this, &APlayerController::RestartLevel, Duration, false);
	}
}

Lo mejor que tiene StartCameraFade es que es super configurable gracias a los parámetros que recibe:

FromAlpha: Valor de transparencia al comenzar el fade. 0 = Totalmente transparente, 1 = totalmente opaco.
ToAlpha: Valor de transparencia al terminar el fade. 0 = Totalmente transparente, 1 = totalmente opaco.
Duration: Cuantos segundos tomara el efecto
Color: Color del fade. Generalmente es negro, pero podemos hacerlo de cualquier color 😉
bShouldFadeAudio: True para afectar el volumen del audio junto con el efecto de fade.
bHoldWhenFinished. True para mantener el valor final del efecto. Se puede eliminar llamando a la función StopCameraFade

Este efecto de fundido a negro es muy usado en distintos lugares, un ejemplo clásico de su uso es al morir nuestro personaje, antes de reiniciar el nivel o dar las opciones para reiniciar, se puede fundir a negro para suavizar la transición. Ten en cuenta que al hacer el FadeOut NO se va a ocultar el HUD, por lo que deberás encargarte de ocultarlo antes.

😉

NOTA: Este post ha sido desarrollado usando el Unreal Engine 4.12.5, si estás trabajando con otra versión puede que encuentres algunas diferencias, ya que el Engine está en constante actualización. De ser así, déjame tus comentarios al final del post y buscamos juntos la solución.

English version: UE4 – Tip of the Day 1: Camera FadeIn/FadeOut