La función de video panorámico de Unity le permite:
Unity admite videos de 180 y 360 grados en un diseño equirectangular layout (longitude and latitude) o un cubemap layout (6 frames).
Los videos Equirectangulares 2D deberían tener una relación de aspecto de exactamente 2: 1 para contenido de 360, o 1: 1 para contenido de 180
Los videos 2D de Cubemap deben tener una relación de aspecto de 1:6, 3:4, 4:3 o 6:1, según el diseño de la cara:
Para usar las funciones de video panorámico en el Editor de Unity, debe tener acceso a clips de video panorámicos o saber cómo crearlos.
Esta página describe los siguientes pasos para mostrar cualquier video panorámico en el Editor:
Configure un Video Player para reproducir la fuente de video en una Render Texture.
Configure un Skybox Material que recibe la Textura de procesamiento.
Configure la escena para usar el material de Skybox.
Nota: Esta es una característica de uso intensivo de recursos. Para obtener mejores resultados visuales, use videos panorámicos con la resolución más alta posible (a menudo 4K o 8K). Los videos grandes requieren más poder de computación y recursos para decodificar. La mayoría de los sistemas tienen límites específicos para las resoluciones máximas de descodificación de video (por ejemplo, muchos móviles están limitados a HD o 2K, y los escritorios más antiguos pueden estar limitados a 2K o 4K).
Importe su video en Unity como un Asset. Para crear un reproductor de video, arrastre el asset de video desde la vista del proyecto a un área vacía de la vista de jerarquía de Unity. Por defecto, esto configura el componente para reproducir el video a pantalla completa para la cámara predeterminada. Presione Play para ver esto.
Debería cambiar este comportamiento para que se convierta en una Textura de procesamiento. De esta forma, puedes controlar exactamente cómo se muestra. Para hacer esto, vaya a Assets & gt; crear & gt; Render Texture.
Establezca Size de Textura de renderizado para que coincida exactamente con su video. Para verificar las dimensiones de su video, seleccione el video en su carpeta de Contenidos y vea la ventana del Inspector. Desplácese a la sección donde Unity muestra su video, seleccione el nombre de su video en la ventana de vista previa y cámbielo a Source Info.
Luego, establezca la opción Depth Buffer de Textura de renderizado en No depth buffer.
)
Ahora, abra el Video Player Inspector y cambie el Render Mode a Render Texture. Arrastre su nueva textura de renderizado desde la vista de activos a la ranura Target Texture.
Ingrese al modo de Reproducción para verificar que esto esté funcionando correctamente.
El video no se muestra en la ventana Game, pero puede seleccionar Render Texture Asset para ver que su contenido se actualice con cada frame de video.
Necesita reemplazar el Skybox predeterminado con su contenido de video para renderizar el video panorámico como telón de fondo de su escena.
Para hacerlo, cree un nuevo material (Assets > Create > Material). Vaya a su nuevo inspector de materiales y configure el Shader del material en Skybox / Panoramic (vaya a Shader > Skybox > Panoramic).
Arrastre la Textura de procesamiento desde la vista de Assets a la ranura de Textura en el nuevo Inspector de materiales.
Debe identificar correctamente el tipo de contenido en el video (cubemap o equirectangular) para que el video panorámico se visualice correctamente. Para el contenido del mapa de cubos (como un diseño de cruz y franja, como es común para texturas estáticas de Skybox), establezca Mapping a 6 Frames Layout.
Para el contenido equirectangular, establezca Mapping a Latitude Longitude Layout, y luego la subopción 360 degree o 180 degree. Elija la opción 360 degree si el video abarca una vista completa de 360 grados. Elija 180 degree si el video es solo una vista frontal de 180 grados.
Mire Preview en la parte inferior del Inspector de materiales. Haga un recorrido panorámico y verifique que el contenido se vea correcto.
Finalmente, debe conectar su nuevo material de Skybox a la escena.
Open up the Lighting window (menu: Window > General > Lighting).
Arrastre y suelte el nuevo asset material de Skybox en la primera ranura en Environment.
Presione Play para mostrar el video como un fondo de escena en el Skybox.
Cambie la orientación de la cámara de escena para mostrar una porción diferente del Skybox (y por lo tanto una porción diferente del video panorámico).
Turn on Virtual Reality Support in the Player settings (menu: Edit > Project Settings, then select the Player category, and open the XR Settings panel), especially if your source video has stereo content. This unlocks an extra 3D Layout option in the Skybox/Panoramic Material. The 3D Layout has three options : Side by Side, Over Under, and None (default value).
Use la configuración Side by Side si el video contiene el contenido del ojo izquierdo a la izquierda y el contenido del ojo derecho a la derecha. Elija Over Under si los contenidos izquierdo y derecho se colocan arriba y abajo uno del otro en el video. Unity detecta qué ojo se está procesando actualmente y envía esta información al sombreador Skybox / Panoramic usando Renderización estéreo de paso único. El shader contiene la lógica para seleccionar la mitad correcta del video según esta información cuando Unity representa el contenido de cada ojo en realidad virtual.
Para videos 3D que no sean 360 (donde no se debe usar un material de Skybox), el mismo 3D Layout está disponible directamente en el componente de reproductor de video cuando se utilizan los modos de procesamiento de plano de la cámara Near/Far.
Al trabajar con videos de cubemaps, en lugar de la renderización del reproductor de video en una textura de renderizado 2D y preservar el diseño exacto del cubemap, puede renderizar el reproductor de video directamente en un Render Texture Cube.
Para lograr esto, cambie la Dimension del Asset de Textura Renderizada de 2D a Cubo y configure el Size__ de la Textura Renderizada para que sea exactamente la dimensión de las caras individuales del video fuente.
Por ejemplo, si tiene un video de diseño de cubemaps cruzados horizontales de 4 x 3 con dimensiones de 4096 x 3072, establezca el Size de Textura de renderizado en 1024 x 1024 (4096/4 y 3072/3).
Mientras renderiza en una textura de destino de cubo, el reproductor de video asume que el video de origen contiene un mapa de cubo en una disposición de cruz o de tira (que determina usando la relación de aspecto de video). El reproductor de video luego llena las caras de la textura de procesamiento con las caras de cubo correctas.
Use el Render Texture Cube resultante como un Skybox. Para hacer esto, cree un Material y asigne Skybox/Cubemap como el Shader(Shader > Skybox > Cubemap) en lugar del Skybox / Panoramic Material descrito anteriormente.
La inclusión de contenido 3D requiere el doble del ancho o el alto del video (correspondiente a los diseños Side-by-Side o Over-Under ).
Tenga en cuenta que muchos decodificadores de video de hardware de escritorio están limitados a resoluciones de 4K y los decodificadores de video de hardware móvil a menudo están limitados a 2K o menos, lo que limita la resolución de la reproducción en tiempo real en esas plataformas.
Puede usar la transcodificación de video para producir versiones de menor resolución de videos panorámicos, pero tome precauciones para evitar introducir sangrado en el borde entre el contenido 3D izquierdo y derecho o entre las caras del mapa del cubo y las áreas negras adyacentes. En general, debe crear el video en dos dimensiones y transcodificarlo a otras dimensiones de la potencia de dos para reducir los artefactos visuales.
2017–10–25 Page published
Added 2D and 3D panoramic video support in 2017.3 NewIn20173