Unity中开场动画设置(二)

上一篇文章中对Unity中视频的播放设置是在PC端配置的

经过测试后发现并不能在手机端运行

因为在移动设备上我们需要使用另一种方式来播放视频

注意:

在移动端,unity并不提供MovieTexture,AVPro
QuickTime也用不了,其最基本的显示方案使用通过 PlayFullScreenMovie ()函数进行全屏播放,根据其官网解释,主要有以下方面:

(1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中
(2) 视频播放过陈中,unity将会停止;播放结束后unity自动恢复;播放过程中屏幕中的颜色会变为播放器的背景颜色,播放之后恢复。
(3)在IOS中,内部实际上是调用MPMoviePlayerController的方法
(4)能够支持的格式: .mov, .mp4, .mpv, and .3gp ,H.264,MPEG-4 Part 2 video
 Handheld.PlayFullScreenMovie ("StarWars.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
也就是说unity提供的方法更简单了,窗口方式也回避了,还是要去寻求第三方插件。

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

	void OnGUI()
	{
	    if (GUI.Button (new Rect (20,10,200,50), "PLAY ControlMode.CancelOnTouch"))
		{
			// 不显示任何视频控件,当点击屏幕发生输入之后会跳过动画的播放
			// 一般游戏中的开场动画使用这种播放方式
    	   	Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
		}
			// 显示播放视频一系列标准控件
		if (GUI.Button (new Rect (20,90,200,25), "PLAY ControlMode.Full"))
		{
       		Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);
		}
			// 隐藏所有视频控件
		if (GUI.Button (new Rect (20,170,200,25), "PLAY ControlMode.Hidden"))
		{
       	 	Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Hidden);
		}
			// 显示最小的一套视频控件
		if (GUI.Button (new Rect (20,250,200,25), "PLAY ControlMode.Minimal"))
		{
       		Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Minimal);
		}

	}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-04 22:18:25

Unity中开场动画设置(二)的相关文章

Unity中开场动画设置

using System.Collections; public class Test: MonoBehaviour { // 电影纹理 public MovieTexture movTexture; void Start () { // 设置电影纹理播放模式为循环 movTexture.loop = false; movTexture.Play (); } void Update () { if (Input.GetMouseButtonDown (0)) { Debug.Log ("当点击屏

UIView中的动画设置

两种状态的改变通过动画来渐变,设置动画效果,一般采用的方式有以下几种: 方式一: [UIView beginAnimations:(NSString *) context:<#(void *)#>]; [UIView setAnimationDuration:<#(NSTimeInterval)#>]; /*****这里插入需要产生动画的片段*****/ [UIViewcommitAnimations]; 其中NSString和void这两个参数可设为nil:NSTimeInter

WPF中的动画——(二)From/To/By 动画(二)

WPF中的动画——(二)From/To/By 动画 我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimation = new DoubleAnimation()    {        From = 0,        To = 320,        Duration = TimeSpan.FromSeconds(2),        RepeatBehavior = RepeatBehavior.Forev

在Unity中实现动画的正反播放代码

using UnityEngine; using System.Collections; public class AnimationAntiSowing : MonoBehaviour { public static AnimationAntiSowing _initialise; void Awake() { _initialise = this; } /// <summary> /// 动画进行正反播放 /// </summary> /// <param name=&q

关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器

对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪些事情,为了解决这个问题,unity允许每个动画单元来绑定一个脚本代码,这个脚本代码必须继承于StateMachineBehaviour;2: 可以在动画状态的Add Behaviour上添加挂载一个脚本到动画状态;3: StateMachineBehaviour主要接口: (1)OnStateEn

关于Unity中新版动画系统的使用

Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的Mecanim动画系统;2:Mecanim支持运动重定向(Retargeting)功能,即把动画从一个角色模型应用到另一个角色模型;3: Mecanim允许使用"肌肉"来控制不同骨骼的运动范围;觉得某个动画太夸张的时候,可以用"肌肉"来限制一下.4: Mecanim动画

WPF中的动画——(二)From/To/By 动画

我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimation = new DoubleAnimation()    {        From = 0,        To = 320,        Duration = TimeSpan.FromSeconds(2),        RepeatBehavior = RepeatBehavior.Forever,    }; button.BeginAnim

MQTT通信协议在Unity中的应用之二—Unity3D C#实现

上一篇讲解了MQTT协议在JS实现,通过和Unity3D交互实现通信,因为对JS不是特别精通,所以讲得比较粗略.这一篇中,介绍Unity3D 实现MQTT协议通信,将细致讲解过程MQTT是IBM开源的一个通讯方式,是一个基于TCP的发布订阅协议,MQTT使用类似MQ常用的发布/订阅模式,起到应用程序解耦,异步消息,削峰填谷的作用.优点: 使用发布/订阅模式,提供一对多的消息发布,使消息发送者和接收者在时间和空间上解耦. 二进制协议, 网络传输开销非常小(固定头部是2字节). 灵活的Topic订阅

关于unity中spine动画切换时有残影或者动画播放不正确的解决方法

问题描述: 最近在用spine动画时发现,有时候角色在切换动画的时候会有残影,或者动画播放不正确,例如会丢失一部分节点,例如切换动画后角色虽然动画播放正常,但丢失了武器. 解决办法: 在unity编辑器下找到spine动画的SkeletonData文件,在Animationgs下面有一个"Setup Pos",这个按钮可以将骨骼(bones).资源槽(slots)或两者重置为装配动作(setup pose).它与调用`setBonesToSetupPose` 或 `setSlotsTo