1. 程式人生 > >Unity_2D遊戲例項從零講起(2)——手遊開場動畫的實現

Unity_2D遊戲例項從零講起(2)——手遊開場動畫的實現

一個酷炫的開場動畫多多少少可以讓遊戲高大上起來(對於外行來說…)不管怎麼說,我們發現基本上任何一款遊戲都有自己獨特的開場動畫用來顯示自己的品牌logo。所以

接著我們上次教程,開始和大家分享如何製作出手遊的開場動畫。主要有以下內容:

a.安卓Apk檔案的釋出生成

b.如何在安卓平臺播放視訊

c.基本指令碼的編寫

這裡要注意,所謂的開場動畫不過是一個開場視訊,我們只是想辦法讓其在手遊剛進入時自動播放。

Here we go~

1.      製作開場動畫視訊

我之前開發的遊戲用的是AE(After Effect),是一款專業的影視後期處理軟體,可以製作比較酷炫的視訊,做電影效果處理等。當然,如果大家就是想學習一下,可以先隨便找一個.mp4格式的視訊,拖到檔案瀏覽器裡面。新建一個資料夾命名StreamingAssets,把視訊拖到這個資料夾裡面。

2.      建立並編寫C#指令碼

滑鼠右鍵工程檔案目錄,點選create—C# Script。這裡我們可以看到,除了C#還可以用javascript來編寫,至於區別,我只能說javascript比較容易上手,C#比較接近java。大工程的話還是C#是主流。同時我們也能看到還可以建立shader,prefab,animation等等,這些都是遊戲中必不可少的內容,我們之後再詳談~


我們在下載Unity的時候會附帶一個程式碼編輯器—MonoDevelop,unity指令碼檔案預設用它開啟,當然你也可以使用VS,Notepad++等。

新檔案內容如下:

using UnityEngine;

using System.Collections;

public class StartMovie : MonoBehaviour {

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

}

這裡生成了一個類(就是檔案的名字)繼承於MonoBehaviour。有UnityEngine,System.Collections兩個必須使用的名稱空間。

Start函式表示遊戲一開始所執行的內容,只執行一次。

Update表示每一幀執行的內容,如果想不斷更新數值一類的就可以寫在這裡。

下面需要我們開始寫程式碼了,目的是實現android平臺上的視訊播放。

這裡就需要大家有查資料的能力,首先第一個必備網站—unity的API官網

這裡無疑是最權威的使用文件了,你可以在這裡查到所有使用的API。不過當然都是英文的,而且有些API沒有例子。

如果想看中文的API可以看Unity聖典,不過可能不夠全面。網址如下

如何搜到自己想要的功能?我一般都是搜尋功能相關的關鍵詞,當然你可以先百度,找到合適的API再去到官網查相關的API或者具體的使用規範。

下面截圖就是官網播放視訊的一個API,我們在android上播放開場動畫就可以使用這個。


我們只要在start裡面加入這一句

Handheld.PlayFullScreenMovie("snowman.mp4",Color.black,FullScreenMovieControlMode.Hidden);

引數分別為視訊名稱,背景顏色,播放模式(現在的模式表示隱藏播放按鈕等介面)

這裡大家可以加一句Debug.Log("First");用來除錯。我們可以在Console看到輸出。

那現在是不是直接點選執行就行了?當然不行!

我們剛剛就是寫了句程式碼,得讓他關聯到遊戲的物件才行~所以我們直接把寫好的指令碼拖到我們之前在場景中的圖片上(場景中的物體都有可以,攝像機也可以,目的是讓腳步在遊戲中執行)

3.      下面開始講如何釋出android包了

①  雖然是跨平臺不需要大家寫java程式碼,但是android基本的SDK還是需要的,所以java的開發環境也是需要的。

附java環境變數設定教程,SDK下載網址:

下載完SDk後需要點選SDKmanager.exe執行下試試有沒有需要的安卓版本,當前最新的Android6,大家可以多安裝幾個版本,高版本的系統可以執行低版本釋出的apk,但是低版本的系統不能執行高版本釋出的apk(最新的手機一般是安卓5.0,可以執行由低版本SDK釋出的應用)。

關於SDK版本這裡還需要多說一些,目前來通過看下載新版本的SDK最方便的辦法就是翻牆(大家可以考慮弄個VPN,畢竟也經常會用到),這樣選中更新列表需要更新的內容,點選Install Package就可以了。或者也可以找到網上下載好的SDK資源。

Unity5.0釋出Android包時可能會提示你SDK Tools is out of date,這樣就需要更新SDK。如果忽略的話,釋出的apk檔案也可能安裝成功,但是執行會出現問題。

②  環境搭建完畢,我們接著回到Unity介面。

這裡我們首先配置一下SDK的環境。點選Edit—preference—ExternaTools—AndroidSDK location,選擇SDK的根目錄

 

③  就如我們上次釋出PC遊戲一樣,還是先要點選Build Setting,之後我們選擇安卓並點選下面的switch plantform。隨後,我們可以點選Game視窗下的遊戲螢幕解析度來進行設定,目前我們可能只能滿足單個的螢幕解析度(之後的部落格我們會討論如何適配螢幕)。選擇完畢,我們再點選player setting看螢幕的右邊,上面的紅框裡改一下自己的公司名和工程名,同時把下面紅框的內容對應的修改(下面第二個紅框的Bundle Identifiter內容一定要改,只要不是預設內容就行,否則無法正常釋出)


④  下面我們設定一下游戲的圖示,先拖進來一張圖片,再在Inspector面板—Default Icon匯入我們的圖示。同時我們還可以修改,載入場景前的圖片(一般都是Unity的預設圖片),這裡我們點選Splash Image,選中select替換即可。

⑤  玩手機遊戲還有一個常見的問題就是橫屏還是豎屏,對於常用的APP,我們可能要支援橫豎屏切換,那麼我們就在Resolution and Presentation—Default Orientation設定為AutoRotation,如果想讓其保持橫屏,我們就選中Landscape left 或者 right。


⑥  準備工作都已完畢,現在可以點選Build了,選擇一個路徑,開始生成。上面已經講過,這裡可能出現幾種匯出失敗的情況,或者有某些提示警告。

如果是說SDK(SDK Tools) is out of date,或者安卓的最低版本應該是是XXX之類的提示都建議去更新一下SDK的包(需要翻牆或者直接搜資源)。

今天到這裡~下一節我們繼續研究,最基本的UI實現思路——開始選單的製作