在這個期末專題中,我們使用Unity來完成Android手機上的一個App。在Ur Android裡面我們做出了一個虛擬的Android寵物,會隨著使用者的生活跟著慢慢的成長。其中一個特點是我們在裡面加入了AR的功能,使用者可以藉由AR卡片來跟寵物互動、玩遊戲,並且可以在校園的不同角落尋找AR pattern來增加寵物可用的衣服或道具。在拍照的時候,能夠在螢幕上叫出寵物,擺出想要的姿勢之後和主人一起拍照。


用AR功能和Android寵物互動


  在這個專題裡,第一次使用了Unity來開發遊戲,也是第一次開發手機上的程式。不像開發電腦程式時有很高的硬體效能,手機程式需要對效能斤斤計較,在提供理想的內容同時也要保持操作的順暢度,這是在開發的時候遇到的最大困難。
  因為這個專題是12人的大團隊組成的,在分工方面也出現很多問題,尤其是最後完成了自己的部分,要把所有人的程式整合起來時,才發現有些地方因為分工時的規定不足,導致需要額外花很多時間重新設定傳遞參數之類的資訊。因此我想之後的專題分工時會特別注意這點,在分工時就預先設定好主要的function和參數,以免整合時產生額外的costbug





  這個專題的目標是利用物理引擎在Ogre裡面產生一連串相連的事件。因為所有事件是頭尾相連的,所以在一開始就需要設計好所有的流程。我最後決定的流程是由草原轉到海上,接著另一邊的沙漠區,最後用熱汽球帶到天上結束。並且整個流程的事件觸發都是隨著背景音樂的改變而出現,讓觀賞的時候可以對場景的轉換更有感覺。

  由於這個專案中需要用到很多的美術素材和音效,所以我從魔獸世界中擷取出了需要的模組和音效等檔案,再自己組成想要的結果。在擷取的過程中也順便觀察了在遊戲公司裡歸類檔案的格式、命名方式等等,用這些規則來改進原本的做法來提高工作的效率。
  除了場景的編排以外,另一個花時間的部分是對整個物理引擎的控制。雖然之前有使用過Bullet,但是在Chain reaction的要求下需要很高的精細程度,所以在加入物理引擎之後還花了很多時間在微調參數,讓整個流程的運行更像現實世界的狀況。
  有之前的經驗,這次也特別注意在使用BulletCaelumHydrax這些耗資源的Library時,仍然可以保持足夠的fps




新增說明文字






  這個專題分成兩部分,在第一部分裡面我們實作Spline,然後在第二部份中用Spline算出軌道,然後使用Ogre3D作出雲霄飛車。
  在這個專題裡我主要負責場景。首先用Ogitor編輯器來製作整個場景,包括地形、材質、靜態物件位置等。接下來設定軌道的控制點,將Spline算出來的結果繪製出來,並且加上鐵軌的模組。場景完成後使用DotSceneLoader,在執行程式的時候先產生場景。最後加上動態的特效、Particle systemHydrax水體效果及Caelum的天空效果。



在這個專題裡因為負責的是場景的部分,從場景規劃開始我就是以製作遊戲的想法進行,可惜最後時間不足沒辦法將原本構想的遊戲內容做出來,只來得及完成一整圈的軌道以及場景。製作的過程中我加入了大量的特效,其中水體和天空的特效花了最多時間研究,得到的結果也很值得。但是由於沒有考量到整體效能的問題,最後Demo的時候順暢度沒有自己在家裡的狀況好,這是在之後做類似的專題需要想辦法解決的。



Next Post較新的文章 Previous Post較舊的文章 首頁