unity3d游戏开发中播放视频操作

  在游戏中,往往需要在进入游戏时播放一段比较炫的开场动画(OP),已达到吸引玩家的目的。本文将介绍如何在unity3d游戏开发引擎中,播放各种平台下播放视频的方法。其中包括利用MovieTexture在win pc和mac pc即桌面环境下播放视频,利用Handheld.PlayFullScreenMovie方法来播放移动设备上播放视频。

  关键字:unity3d,播放视频,MovieTexture,Handheld.PlayFullScreenMovie

  桌面环境――MovieTexture

  MovieTexture是Texture的子类,所以可以渲染在任意一个物体(GameObject)和材质(Material)上。详细见官方文档:

  http://docs.unity3d.com/Documentation/Components/class-MovieTexture.html

  以及

  http://docs.unity3d.com/Documentation/ScriptReference/MovieTexture.html

  注意MovieTexture只能是在Unity3d Pro版本中才有。另外还要注意Unity3d支持的视频格式,这里使用MP4格式。下面介绍使用方法:

  首先创建一个项目,并且创建一个cube作为视频播放的载体(容器)。在Assets目录下拖人一个视频(这里是1.MP4)。等待导入完成之后,将这个视频拖到场景中的cube上。创建一个平行光,这样我们才能看到cube表面。适当调节摄像机位置和参数,能清楚看到cube表面即可。好,场景工作完成。

  因为MovieTexture不会自动播放,所以要加入一个脚本,内容很简单,在Start方法中加入以下代码来播放视频:

  renderer.material.mainTexture.Play();

  好,回到unity3d,将脚本拖到cube上,运行。神奇时刻到来了,cube的各个面都有视频播放。

  是不是可以在GUI上做一个全屏视频呢?GUI Texture?亲自行动吧!

  移动设备――Handheld.PlayFullScreenMovie

  由于MovieTexture在安卓和ios中不被支持,官方建议使用Handheld.PlayFullScreenMovie方法来播放视频,见:

  http://docs.unity3d.com/Documentation/ScriptReference/Handheld.PlayFullScreenMovie.html

  函数原型:

  static function PlayFullScreenMovie (path : String, bgColor : Color = Color.black, controlMode : FullScreenMovieControlMode = FullScreenMovieControlMode.Full, scalingMode : FullScreenMovieScalingMode = FullScreenMovieScalingMode.AspectFit) : boolean

  参数见文档。

  这是Unity3D提供的一个全屏播放流媒体(视频)的方法。播放视频时,游戏会暂停,等待播放完成后将继续原来的游戏。

  首先要在Assets目录下创建一个名为StreamingAssets目录,然后将一段视频拖到这个目录下。由于刚刚创建了一个cube,现在不需要用,删除掉。创建一个脚本,在Start方法中加入代码播放视频:

  Handheld.PlayFullScreenMovie("StarWars.mp4",Color.black);

  回到unity3d,将脚本拖到camera上,发布成移动设备对应的安装包,真机测试。

  注意,这个在pc上是无法看到运行结果的,只有发布真机才会有效。另外,貌似安卓(android)需要API14以上,IOS上未测试。

  附――可能需要的软件:

  视频格式转化和截减工具:格式工厂

  视频格式支持测试和播放工具:QuickTime

你可能感兴趣的:(动画,关键字,如何,游戏开发)