[UNITY|TOOLS]UNITY小工具系列(一){影片撥放器}

在遊戲中有時候會需要撥放一些影片動畫當作過場,或者撥放媒體有控制上的需求,本篇就記錄一下「影片撥放器」的作法。

tools001

界面準備

首先,我們先利用UNITY的UGUI做出一個進度條(使用Scroll Bar製作),和兩個按鈕(Button)分別是撥放/暫停按鈕和停止按鈕。結構如下。tools002

最外層分別是,主攝影機(MainCamera)、UI畫布(Canvas)、和事件系統(EventSystem建立畫布自動產生),Canvas內又包含了UGUI的ScrollBar和兩個Button。

程式腳本

程式分為兩部分,主控程式和時間進度的手把拖曳的行為偵測。
ScrollBar中的Handle要裝上以下程式,並繼承實作IPointerDownHandler, IDropHandler兩個界面的功能,點手把的時候暫停撥放,拖曳放開後恢復撥放。方法內呼叫的VideoPlayerCtrl就是主控端。


主控程式VideoPlayerCtrl就加到Canvas上即可,腳本加入時會自動帶入Unity的VideoPlayer和AudioSource方便撥出影像和聲音。主控程式上只要選擇好VideoRenderMode為CameraFarPlane或者CameraNearPlane,然後VideoAudioOutputMode 為AudioSource即可(其他撥出方式可以另行增加)。要撥放的影片放到VideoClip中,啟動時要不要撥放和背景執行可自選,最後就是UI用的元素要指定到對應欄位,PlayBtnText是放Play按鈕中的文字,這部分也是依照做法可以修改,如果按鈕是用文字顯示箭頭或是暫停符號的話可以用這個做文字替換。tools003

其中,ButtonFN()要指定給Play按鈕,Stop()指定給停止按鈕就大功告成了。

tools004

Leave a Reply