注意: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 视图中的任何游戏对象上。通常,此游戏对象就是显示电影的游戏对象。然后,使用 audio.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,屏幕就会从当前的内容淡出并淡入到指定的背景颜色。电影准备播放的过程可能需要一些时间,但与此同时,播放器将继续显示背景颜色,还可能显示进度指示条让用户知道电影正在加载。播放完成后,屏幕将淡出并淡入先前的内容。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.