举荐:将 NSDT 场景编辑器退出你的 3D 工具链
3D 工具集:NSDT 简石数字孪生 https://www.mvrlink.com/unity3d-panoramic-video/
全景视频 Unity 的全景视频性能能够让您:轻松增加 360 度实在视频镜头。通过增加预渲染的背景视频而不是实在的几何体,升高 VR 中的场景复杂度。Unity 反对等距圆柱投影 (equirectangular) 布局(经度和纬度)或立方体贴图布局(6 帧)的 180 度和 360 度视频。等距圆柱投影 2D 视频的宽高比应恰好为 2:1(360 度内容)或 1:1(180 度内容)。
等距圆柱投影 2D 视频立方体贴图 2D 视频的宽高比为 1:6、3:4、4:3 或 6:1,具体取决于工作面布局:
立方体贴图 2D 视频要采纳 Unity Editor 中的全景视频性能,必须应用全景视频剪辑或理解其创作方法。本页面介绍在 Editor 中显示全景视频的以下必要步骤:设置视频播放器 (Video Player) 以向渲染纹理播放视频源。设置接管渲染纹理的天空盒 (Skybox) 材质。设置场景以应用天空盒材质。留神:这是资源密集型性能。为了取得最好的视觉效果,应采纳分辨率尽可能最高的全景视频(个别为 4K 或 8K)。大型视频须要更多的计算能力和资源进行解码。大部分零碎对于最大视频解码分辨率有具体限度(比方,许多挪动设施限度为 HD 或 2K,而较早的台式机可能限度为 2K 或 4K)。1. 视频播放器设置将视频作为资源导入 Unity。要创立视频播放器,将视频资源从 Project 视图中拖入 Unity Hierarchy 视图的空白区域。默认状况下,这样会设置组件以播放默认摄像机的全屏视频。按 Play 即可查看此视频。应扭转此行为以使其渲染到渲染纹理。这样就能够精确管制显示后果。为此,请抉择 Assets > Create > Render Texture。设置渲染纹理的 Size 以精确匹配视频。要查看视频的尺寸,请在 Assets 文件夹中抉择该视频,而后查看 Inspector 窗口。滚动到 Unity 的视频预览局部,在预览窗口中抉择视频的名称,而后将其更改为 Source Info。接下来,将渲染纹理的 Depth Buffer 选项设置为 No depth buffer。
渲染纹理设置为 No depth buffer 当初,关上视频播放器的 Inspector 窗口,并将 Render Mode 切换到 Render Texture。将新的渲染纹理从 Asset 视图拖到 Target Texture 字段。进入播放模式以确认一切正常无误。视频不会在 Game 窗口中渲染,但可抉择渲染纹理资源 (Render Texture Asset),而后确认其内容会随每一个视频帧更新。
2. 创立天空盒材质您须要将默认天空盒替换为视频内容,从而将全景视频渲染为场景的背景。为此,请创立新的材质 (Assets > Create > Material)。在新材质的 Inspector 中将材质的 Shader 设置为 Skybox/Panoramic(抉择 Shader > Skybox > Panoramic)。将渲染纹理从 Asset 视图拖到新材质的 Inspector 中的 Texture 字段。必须正确辨认视频中的内容类型(立方体贴图还是等距圆柱投影)能力正确播放全景视频。对于立方体贴图内容(比方动态天空盒纹理中常见的穿插和条状布局),请将 Mapping 设置为 6 Frames Layout。对于等距圆柱投影内容,请将 Mapping 设置为 Latitude Longitude Layout,而后抉择 360 degree 或 180 degree 子选项。如果视频笼罩整个 360 度视图,请抉择 360 degree 选项。如果视频只是侧面 180 度视图,请抉择 180 degree。查看材质检视面板 (Inspector) 底部的 Preview。执行平移操作,确认内容看起来正确无误。3. 将全景视频渲染到天空盒最终,必须将新的天空盒材质与场景关联。关上 Lighting 窗口(菜单:Window > General > Lighting)。将新的天空盒材质资源拖放到 Environment 下的第一个字段。按 Play 将视频显示为天空盒上的场景背景。更改场景摄像机方向以显示天空盒的另一个不同局部(因而也是全景视频的另一个不同局部)。3D 全景视频在 Player 设置中开启 Virtual Reality Support(菜单:Edit > Project Settings,而后抉择 Player 类别,并关上 XR Settings 面板),特地是源视频有立体声内容的状况下。此设置将另外解锁天空盒 / 全景材质 (Skybox/Panoramic Material) 中的 3D Layout 选项。3D Layout 有三个选项:Side by Side、Over Under 和 None(默认值)。如果视频左侧蕴含左眼内容,右侧蕴含右眼内容,应采纳 Side by Side 设置。如果左右侧内容在视频中高低散布,应抉择 Over Under。Unity 会检测以后正在渲染的眼睛,并应用单 Pass 平面渲染将此信息发送给天空盒 / 全景着色器。该着色器蕴含依据此信息抉择视频的逻辑;当 Unity 在 VR 中渲染每只眼睛的内容时,即可抉择正确的一半视频。
3D 全景视频对于非 360 度 3D 视频(此状况下不应应用天空盒材质),应用摄像机近 / 远立体渲染模式时,视频播放器组件中提供同样的 3D Layout。立方体贴图视频的备用渲染纹理类型解决立方体贴图视频时,可将视频播放器间接渲染为渲染纹理立方体 (Render Texture Cube),而不是将视频播放器渲染到 2D 渲染纹理并保留准确的立方体贴图布局。为实现此目标,请将渲染纹理资源的 Dimension 从 2D 更改为 Cube,并将渲染纹理的 Size 恰好设置为源视频单个面的尺寸。例如,如果有尺寸为 4096 x 3072 的 4 x 3 程度穿插立方体贴图布局视频,应将渲染纹理的 Size 设置为 1024 x 1024(4096 / 4 和 3072 / 3)。渲染到立方体指标纹理 (Cube Target Texture) 时,视频播放器假设源视频在穿插或条状布局(应用视频宽高比进行确定)中蕴含立方体贴图。视频播放器随后用正确的立方体面填充渲染纹理的面。采纳生成的渲染纹理立方体作为天空盒。为此,请创立材质,并调配 Skybox/Cubemap 作为 Shader (Shader > Skybox > Cubemap),而不是以上所述的天空盒 / 全景材质。视频尺寸和转码增加 3D 内容要求视频宽度或高度增加一倍(对应于 Side-by-Side 或 Over-Under 布局)。切记,许多台式机硬件视频解码器最高反对 4K 分辨率,而挪动端硬件视频解码器最高反对 2K 或更低,因而限度了在这些平台上实时播放的分辨率。可采纳视频转码来生成更低分辨率版本的全景视频,然而须要采取预防措施,防止左侧和右侧 3D 内容之间或者立方体贴图面和相邻彩色区域之间的边缘呈现渗色。总之,应以二次幂尺寸创立视频,并转码为其余二次幂尺寸,从而缩小视觉瑕疵。