Unity3D中播放游戲視頻的方式有兩種,第一種是在游戲?qū)ο笾胁シ牛秃帽仍谟螒蚴澜缰袆?chuàng)建一個(gè)Plane面對(duì)象,攝像機(jī)直直的照射在這個(gè)面上。第二種是在GUI層面上播放視頻。播放視頻其實(shí)和貼圖非常相像,因?yàn)椴シ乓曨l用到的MovieTexture屬于貼圖Texture的子類,那么本章我們就好好學(xué)習(xí)一下Unity中播放視頻的這兩種方式。
Unity支持的播放視頻格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf。只需將對(duì)應(yīng)的視頻文件拖拽入Project視圖即可,它會(huì)自動(dòng)生成對(duì)應(yīng)的MovieTexture對(duì)象。如下圖所示,MOMO將default_video.mp4拖拽入Project視圖中,如果視頻中含有音頻的話會(huì)對(duì)應(yīng)生成audio文件,因?yàn)槲业囊曨l沒(méi)有音頻所以沒(méi)有生成 audio文件。接著在Hierarchy視圖中創(chuàng)建一個(gè)Plane對(duì)象視頻將在它之上播放,Directional light世界定向光用于照亮整個(gè)游戲場(chǎng)景,最后Main Camera對(duì)象將直直的照射在Plane對(duì)象。
?用對(duì)象拖拽的形式為Mov Texture對(duì)象賦值,那么在腳本中就能直接使用它了,我們看看Test.cs腳本。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-504357.html
using UnityEngine;
using System.Collections;
public class Test: MonoBehaviour
{
//電影紋理
public MovieTexture movTexture;
void Start()
{
//設(shè)置當(dāng)前對(duì)象的主紋理為電影紋理
renderer.material.mainTexture = movTexture;
//設(shè)置電影紋理播放模式為循環(huán)
movTexture.loop = true;
}
void OnGUI()
{
if(GUILayout.Button(“播放/繼續(xù)”))
{
//播放/繼續(xù)播放視頻
if(!movTexture.isPlaying)
{
movTexture.Play();
}
}
if(GUILayout.Button(“暫停播放”))
{
//暫停播放
movTexture.Pause();
}
if(GUILayout.Button(“停止播放”))
{
//停止播放
movTexture.Stop();
}
}
}
點(diǎn)擊按鈕后輕松的實(shí)現(xiàn)播放、暫停、停止操作。默認(rèn)視頻大小大家可在編輯器直接縮放Plane對(duì)象平面,而如果需要在游戲運(yùn)行中動(dòng)態(tài)的縮放平面使用方法:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-504357.html
transform.localScale = new Vector(1,1,1);
模型默認(rèn)縮放系數(shù)為1,這里可以調(diào)節(jié)平面X、Y、Z三個(gè)方向的縮放系數(shù),平面的大小會(huì)隨之改變,對(duì)應(yīng)視頻的大小也會(huì)隨之改變。
第二種播放視頻的方式基于GUI。大家可以把剛剛創(chuàng)建的Plane對(duì)象以及世界定向光刪除,直接將腳本綁定在攝像機(jī)對(duì)象中即可,接著我們簡(jiǎn)單的修改一下剛剛的游戲腳本。
using UnityEngine;
using System.Collections;
public class Test: MonoBehaviour
{
//電影紋理
public MovieTexture movTexture;
void Start()
{
//設(shè)置電影紋理播放模式為循環(huán)
movTexture.loop = true;
}
void OnGUI()
{
//繪制電影紋理
GUI.DrawTexture (new Rect (,, Screen.width, Screen.height),movTexture,ScaleMode.StretchToFill);
if(GUILayout.Button(“播放/繼續(xù)”))
{
//播放/繼續(xù)播放視頻
if(!movTexture.isPlaying)
{
movTexture.Play();
}
}
if(GUILayout.Button(“暫停播放”))
{
//暫停播放
movTexture.Pause();
}
if(GUILayout.Button(“停止播放”))
{
//停止播放
movTexture.Stop();
}
}
}
到了這里,關(guān)于Unity3D教程:播放視頻的兩種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!