注意:MovieTexture 将在 Unity 的未来版本中弃用。应使用 VideoPlayer 进行视频下载和电影播放。
电影纹理__是从视频文件创建的动画__纹理。通过在项目的 __Assets 文件夹__中放置视频文件,即可导入视频,随后就能就像常规纹理一样使用视频。
应通过 Apple QuickTime 导入视频文件。支持的文件类型是 QuickTime 程序可以播放的类型(通常为 .mov、.mpg、.mpeg、.mp4、.avi、.asf)。在 Windows 上,需要安装 Quicktime 才能进行电影导入。请从 Apple 支持网站的下载页面 (Apple Support Downloads) 下载 Quicktime。
电影纹理 Inspector 与常规的纹理 Inspector 非常相似。
属性: | 功能: |
---|---|
Aniso Level | 以大角度查看纹理时提高纹理质量。适用于地板和地面纹理 |
Filtering Mode | 选择纹理在通过 3D 变换拉伸时如何进行过滤 |
Loop | 如果启用此选项,电影将在完成播放时循环播放 |
Quality | 压缩 Ogg Theora 视频文件。值越高意味着质量越高,但文件越大 |
将视频文件添加到项目时,该文件将自动导入并转换为 Ogg Theora 格式。导入电影纹理后,即可像常规纹理一样将其附加到任何__游戏对象__或__材质__。
游戏开始运行时不会自动播放电影纹理。必须使用简短的脚本告诉它何时播放。
// 这行代码将使电影纹理开始播放
((MovieTexture)GetComponent<Renderer>().material.mainTexture).Play();
附加以下脚本可在按下空格键时切换电影播放:
public class PlayMovieOnSpace : MonoBehaviour {
void Update () {
if (Input.GetButtonDown ("Jump")) {
Renderer r = GetComponent<Renderer>();
MovieTexture movie = (MovieTexture)r.material.mainTexture;
if (movie.isPlaying) {
movie.Pause();
}
else {
movie.Play();
}
}
}
}
有关播放电影纹理的更多信息,请参阅电影纹理脚本参考页面
导入电影纹理时,也会导入视觉效果伴随的音频轨道。此音频显示为电影纹理的__音频剪辑 (AudioClip)__ 子级。
要播放此音频,必须将音频剪辑附加到游戏对象,就像任何其他音频剪辑一样。将音频剪辑从 Project 视图拖到 Scene 或 Hierarchy 视图中的任何游戏对象上。通常,此游戏对象就是显示电影的游戏对象。然后,使用 AudioSource.Play() 使电影的音频轨道随其视频一起播放。
在 iOS 上不支持电影纹理。取而代之的是使用 Handheld.PlayFullScreenMovie 提供的全屏流媒体播放功能。
Unity iOS 支持 iOS 设备上能正常播放的任何电影文件类型(即扩展名为 .mov、.mp4、.mpv 和 .3gp 的文件)并使用以下压缩标准之一:
有关受支持的压缩标准的更多信息,请参阅 iPhone SDK MPMoviePlayerController 类参考。
一旦调用 Handheld.PlayFullScreenMovie,屏幕就会从当前的内容淡出并淡入到指定的背景颜色。电影准备播放的过程可能需要一些时间,但与此同时,播放器将继续显示背景颜色,还可能显示进度指示条让用户知道电影正在加载。播放完成后,屏幕将淡出并淡入先前的内容。
如上所述,视频文件使用 Apple 的嵌入式播放器进行播放(截至 SDK 3.2 和 iPhone OS 3.1.2 及更早版本)。目前存在阻止 Unity 切换为静音的错误。
Apple 视频播放器和 iPhone SDK 未提供调整视频方向的方法。一种常见的方法是以横向和纵向方向手动创建每个电影的两个副本。然后,可在播放之前确定设备的方向,从而选择正确的电影版本。
在 Android 上不支持电影纹理。取而代之的是使用 Handheld.PlayFullScreenMovie 提供的全屏流媒体播放功能。
Unity Android 支持 Android 所支持的任何电影文件类型(即扩展名为 .mp4 和 .3gp 的文件),并使用以下压缩标准之一:
但是,设备供应商热衷于扩展此列表,因此一些 Android 设备能够播放除所列格式之外的其他格式,例如高清 (HD) 视频。
有关受支持的压缩标准的更多信息,请参阅 Android SDK 核心媒体格式 (Core Media Formats) 文档。
一旦调用 Handheld.PlayFullScreenMovie,屏幕就会从当前的内容淡出并淡入到指定的背景颜色。电影准备播放的过程可能需要一些时间,但与此同时,播放器将继续显示背景颜色,还可能显示进度指示条让用户知道电影正在加载。播放完成后,屏幕将淡出并淡入先前的内容。