Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Reproducción de vídeo
Puede utilizar el componente Reproducción de vídeo para reproducir un vídeo en una entidad de su nivel de Lumberyard. Por ejemplo, puede utilizar una entidad plana para simular una pantalla de película. A continuación, agregue el componente de reproducción de vídeo y especifique un archivo de vídeo que desee visualizar.
También puede reproducir un vídeo en una pantalla de carga de nivel. Para obtener más información, consulte Cómo definir pantallas de juego y carga de nivel.
Puede utilizar Script Canvas o scripts de Lua para desencadenar la reproducción, pausa o detención del video, en función de las acciones del jugador.
Prerequisites
Para utilizar el componente Video Playback (Reproducción de vídeo) debe hacer lo siguiente:
-
Instale FFmpeg o LibAV.
-
Habilite la gema Reproducción de vídeo para su proyecto de juego. Consulte Habilitación de gemas.
-
Vuelva a generar el proyecto de juego.
Se requieren dos pasos adicionales para utilizar FFmpeg en la versión de Lumberyard actual.
-
En el archivo
\dev\Gems\VideoPlayback\Code\Source\decoder.h
, en la línea 32, inserte la siguiente política de preprocesado.#pragma warning(disable : 4996)
Esta directiva de preprocesador deshabilitará las advertencias de compilación asociadas con FFmpeg, que de otro modo se trataría como errores.
-
Una vez se haya compilado su proyecto, tendrá que copiar manualmente los archivos .dll de
\3rdParty\FFmpeg\3.2\bin\
a la carpeta de salida de compilación\dev\Bin64
.vc141_or_vc142
También puede configurar su vídeo para reproducirse en estéreo visual (no en estéreo de audio). Para probar esta característica, debe utilizar un casco de realidad virtual (HMD).
El componente Video Playback (Reproducción de vídeo) no admite actualmente audio, pero puede desencadenar la reproducción de audio por separado si desea reproducir audio con el vídeo.
Temas
Configurar la reproducción de vídeo
Para configurar la reproducción de vídeo en Lumberyard, debe instalar FFmpeg o LibAV.
-
Si ambos están instalados, Lumberyard utiliza FFmpeg.
-
Para utilizar LibAV, elimine FFmpeg y consulte Instalación de LibAV.
Algunos software de terceros pueden requerir una licencia. Consulte los términos y condiciones del servicio antes de instalar el software.
Instalación de FFmpeg
Para instalar FFmpeg para Lumberyard, siga estos pasos.
Para instalar FFmpeg
-
Busque una compilación de Windows en la página de descarga de FFmpeg
. -
Descargar una compilación de desarrollador (a veces denominada compilación "compartida") que contenga directorios
bin
,include
ylib
. Descomprima los archivos. -
Vaya a
y cree un directorio denominadolumberyard_version
/3rdPartyFFmpeg
. -
En FFmpeg, cree un directorio llamado
3.2
.nota Debe asignar un nombre al directorio
3.2
, independientemente de la versión de FFmpeg que esté utilizando. -
Copie las carpetas
bin
,include
ylib
en el directorio
.lumberyard_version
/3rdParty/FFmpeg/3.2 -
Ejecute Lumberyard Setup Assistant y, en la página Install SDKs (Instalar ) opcional, compruebe que Lumberyard detecta FFmpeg.
Instalación de LibAV
Para instalar LibAV para Lumberyard, siga estos pasos.
Para instalar LibAV
-
Vaya a http://builds.libav.org/windows/
. -
Seleccione la compilación release-lgpl y descargue la última versión de x86_64 de LibAV. En la fecha de publicación del presente documento, la versión 11.7.7 es la última compilación.
-
Vaya a
y cree un directorio denominadolumberyard_version
/3rdPartylibav
. -
En el directorio
libav
, cree un directorio llamado11.7
.nota Debe asignar un nombre al directorio
11.7
, independientemente de la versión de LibAV que esté utilizando. -
Extraiga el archivo
.7z
en el directorio11.7
.nota Para abrir y extraer los archivos
.7z
, debe utilizar una aplicación 7z, como 7-Zip.En el directorio
11.7
, debería tener lo siguiente:-
Un directorio denominado
usr
-
config.log
-
md5sum
-
-
Ejecute Lumberyard Setup Assistant y, en la página Install SDKs (Instalar ) opcional, compruebe que Lumberyard detecta LibAV.
Uso del componente Video Playback (Reproducción de vídeo)
Después de completar el Prerequisites, puede utilizar el componente Video Playback (Reproducción de vídeo).
La reproducción de vídeo admite los siguientes formatos de contenedor:
-
.mp4
-
.mkv
(recomendado) -
.webm
(recomendado)
La reproducción de vídeo admite los siguientes códecs:
-
h.264
-
h.265
-
VP8
(recomendado) -
VP9
(recomendado)
La configuración básica del componente Video Playback (Reproducción de vídeo) incluye lo siguiente:
-
Agregar un componente Camera (Cámara).
-
Agregar un componente Mesh (Malla) y Video Playback (Reproducción de vídeo).
-
Configurar el material
Para utilizar el componente Video Playback (Reproducción de vídeo)
-
Si todavía no tiene una cámara en su escena, coloque un componente Camera cerca de donde vaya a ubicar la reproducción de vídeo.
Puede utilizar la cámara para ver la reproducción de vídeo. Asegúrese de que la cámara apunte en la dirección en la que coloque su componente de reproducción de vídeo.
-
Cree una entidad. Para obtener más información, consulte Creación de una entidad.
-
Utilice Entity Inspector para agregar un componente Mesh a la entidad.
-
En el componente Mesh (Malla), seleccione un Mesh asset (Recurso de malla). Este es el recurso en el que se representa el vídeo. Un cubo o un plano son buenos ejemplos de mallas de prueba.
-
Agregue el componente Video Playback (Reproducción de vídeo) a la misma entidad.
-
En el componente Video Playback (Reproducción de vídeo), en Video, seleccione el vídeo que desea mostrar.
-
En Texture name (Nombre de textura), escriba el signo del dólar ($) y un nombre para la textura. Puede escribir cualquier nombre, pero debe comenzar por un carácter $ para indicar que se trata de un destino de representación. Por ejemplo,
$videotest
es un nombre válido, perovideotest
no lo es. -
En Frame queue ahead count (Recuento anticipado de cola de fotogramas), establezca el número de fotogramas que desea almacenar en búfer.
Le recomendamos que utilice un valor entre
1
y3
.Si acumula demasiados fotogramas en la cola para guardar en memoria (por ejemplo, un valor de
100
) puede hacer que se use demasiada memoria y perjudicar el rendimiento. -
Abra Material Editor.
-
Para crear un material, haga clic en el icono Agregar elemento nuevo. Escriba un nombre descriptivo, como
myvideomaterial
. -
En Texture Maps (Mapas de textura), en la línea Diffuse (Difuso) escriba el nombre del campo Texture name (Nombre de textura) de su componente de vídeo. Debe incluir el carácter $.
-
Cierre Material Editor y vuelva a Entity Inspector. En el componente Mesh (Malla), seleccione el material que ha creado para la propiedad Material override (Reemplazo de material).
Puede activar el vídeo para que se reproduzca al principio del juego usando scripts de Lua.
Configuración de la reproducción de vídeo estéreo
Antes de la configuración de la reproducción de vídeo estéreo, asegúrese de que ha completado las instrucciones de configuración que aparecen en Configurar la reproducción de vídeo.
La reproducción de vídeo estéreo implica que el vídeo presenta una imagen ligeramente diferente para cada ojo, creando una sensación en 3D. Estéreo en este caso se refiere únicamente al estéreo visual. El componente de reproducción de vídeo no es compatible con audio. Aunque no se admite audio y este debe sincronizarse externamente, es posible reproducir audio con espacialización. Para ello, debe utilizar la versión comercial completa de Wwise y un complemento de espacialización 3D como Oculus Spatializer o RealSpace 3D.
Para configurar la reproducción en vídeo estéreo, el archivo de vídeo de origen debe estar diseñado para estéreo. Lumberyard es compatible con vídeos con formato de arriba abajo o de abajo arriba. Debe tener un casco de RV para verificar que el vídeo se reproduce en estéreo.
Para configurar la reproducción de vídeo estéreo, siga las instrucciones en Uso del componente Video Playback (Reproducción de vídeo). Las únicas diferencias en la configuración son las siguientes:
-
Debe utilizar un archivo de vídeo de origen con información estéreo o 3D
-
Especifique la propiedad Stereo Layout (Diseño de estéreo) inicialmente como Auto-Detect (Detección automática). Si no se realiza la detección automáticamente, configúrela como Top-Bottom (De arriba abajo) o Bottom-Top (De abajo arriba).
Todos los archivos de vídeo admitidos deberían tener su diseño estéreo escrito en los metadatos. Sin embargo, esto no es un requisito, y es posible que el codificador no haya introducido esos datos. Si desea inyectar metadatos estéreo en su vídeo, consulte https://support.google.com/jump/answer/7044297?hl=en
.

Cuando entre en el modo de juego (utilizando Ctrl G), debería ver la reproducción del vídeo correspondiente al ojo izquierdo. Si no la ve, pruebe a cambiar la configuración de Stereo layout (Diseño de estéreo).
Para comprobar que el vídeo se está reproduciendo en estéreo, debe entrar en modo RV. Puede entrar en el modo de RV haciendo clic en VR Preview (Vista previa de RV) en la esquina inferior derecha de la ventanilla. A continuación, pulse Ctrl G para entrar en el modo de juego. Si su botón VR Preview (Vista previa RV) no está activado o no puede entrar en el modo de vista previa de RV, asegúrese de que el casco de RV funcione fuera de Lumberyard y luego reinicie el editor de Lumberyard.
La reproducción de vídeo estéreo emplea muchos recursos. Dado que el vídeo suele reproducirse cerca del jugador, es fácil detectar incoherencias y alteraciones no deseadas en el vídeo. Para evitar esto, use vídeos de mayor resolución siempre que sea posible. Para ahorrar recursos, no reproduzca más de uno o dos vídeos estéreo de alta resolución a la vez.
Vínculos Lua para la reproducción de vídeo
Puede utilizar enlaces Lua para interactuar mediante programación con los componentes de reproducción de vídeo que haya colocado en la escena. Lua proporciona una forma de establecer una lógica compleja para reproducir, pausar y detener vídeos.
Funciones globales
Las siguientes funciones facilitan interfaces de programación para los sistemas de reproducción de vídeo.
VideoPlaybackRequestBusSender
- Parámetros
-
EntityID
- Return
-
Devuelve el objeto
VideoPlaybackRequestBusSender
conectado a la entidad especificada. Para obtener más información, consulte ObjetoVideoPlaybackRequestBusSender.
VideoPlaybackNotificationBusHandler
Expone las devoluciones de llamada al script de Lua que disparan los eventos durante la reproducción del vídeo.
Para obtener más información, consulte ObjetoVideoPlaybackNotificationBusHandler.
- Parámetros
-
Table
: la tabla Lua a la que quiere exponer las funciones de devolución de llamada. Paseself
para exponer las llamadas al script de Lua actual.EntityId
– - Return
-
Devuelve el objeto
VideoPlaybackRequestBusSender
conectado a la entidad especificada. Para obtener más información, consulte ObjetoVideoPlaybackRequestBusSender.
ObjetoVideoPlaybackRequestBusSender
El objeto VideoPlaybackRequestBusSender
contiene funciones con las que puede enviar solicitudes al componente de reproducción
de vídeo.
Bool IsPlaying()
-
Devuelve
true
si se está reproduciendo el vídeo. Si el vídeo está en pausa o detenido, devuelvefalse
. Void Play()
-
Reproduce el vídeo. Si no se ha seleccionado ningún vídeo o este ya se está reproduciendo, esto no tiene efecto.
Void Pause()
-
Pausa el vídeo. Si el vídeo ya está en pausa, esto no tiene ningún efecto.
Void Stop()
-
Detiene el vídeo y se queda en el último fotograma. Cuando el vídeo vuelve a reproducirse, empieza en el primer fotograma del vídeo. Si el vídeo ya está en detenido, esto no tiene ningún efecto. Si el vídeo se está reproduciendo o está en pausa, el vídeo se detiene.
Void EnableLooping(Bool)
-
Establece si este vídeo se reinicia automáticamente desde el principio cuando llega a su fin. Pase
true
para habilitar la reproducción en bucle ofalse
para deshabilitarla. La reproducción en bucle está deshabilitada de forma predeterminada. Void SetPlaybackSpeed(Float)
-
Ajusta la velocidad a la que reproduce el vídeo. Por ejemplo, un valor de
1.0
es la velocidad normal,0.5
es a la mitad de velocidad,2.0
es el doble de la velocidad, y así sucesivamente.Se recomienda precaución al configurar la velocidad del vídeo. Si establece una velocidad demasiado alta puede causar que la reproducción sea discontinua.
ObjetoVideoPlaybackNotificationBusHandler
El objeto VideoPlaybackNotificationBusHandler
expone las funciones de devolución de llamada al script de Lua que disparan los eventos
que ocurren durante la reproducción del vídeo.
Void OnPlaybackStarted()
-
Se llama cuando empieza la reproducción del vídeo.
Void OnPlaybackPaused()
-
Se llama cuando se pausa la reproducción del vídeo. No se llama cuando se detiene el vídeo.
Void OnPlaybackStopped()
-
Se llama cuando el usuario detiene la reproducción del vídeo. Si el vídeo alcanza el final y no está activada la reproducción en bucle, esta función no se llama.
Void OnPlaybackFinished()
-
Se llama cuando se reproducen todos los fotogramas de un vídeo. No se llama si el usuario detiene manualmente la reproducción del vídeo. Si está habilitada la reproducción en bucle, se llama a esta función cada vez que se completa el bucle.