2014年1月23日 星期四

Unity 2013開發案例集錦

開發者們,
讓我們一起慶祝! 感謝世界各地的Unity開發者在2013年致力開發許多好遊戲,這裡是我們一致推薦的好遊戲清單,推薦給您!
Camouflaj開發的Republique
支援iOS,Windows和Mac平台
這是在Kickstarter通過募資的專案,描述在一個政府嚴密監控網路的危險時代,拯救種族全部的希望都落在一個年輕的女子身上,你必須幫助他逃離這個地方。
Fullbright公司開發的Gone Home
支援Windows,Mac和Linux
一個贏得許多獎項的探索遊戲,當你回到家之後所有的人都消失的時候,你該怎麼辦?你必須好好的探索家裡的每一個角落,找出發生了甚麼事情。
榮獲2013年最佳App Store遊戲大賞,利用遊戲內各項規則找尋文獻紀載,融合地理和各種難度謎題帶領玩家學習有趣的高科技科學奧秘。
Fireproof Games開發的The Room 2
支援iOS,Android,和Kindle Fire
The Room 2結合絕佳的視覺呈現和創意的解謎難題,整個遊戲的氣氛風格營造的非常棒。
一款2.5D橫向捲軸的動作遊戲,描述主角麥斯因為家人被自己的怨念導致陷入危機,進而拯救挽回之間關係的故事
Madfinger Games開發的Dead Trigger 2
支援iOS,Android,Windows,Mac以及Web
同樣獲得2013年最佳App Store遊戲大賞,Dead Trigger 2是一個跨平台的第一人稱殭屍射擊遊戲,在手機上面的圖形表現堪稱將次世代技術帶入手機遊戲。
這是一個進入奇異的手繪世界冒險的節奏動作遊戲,透過節奏來解決難題度過難關。
Ludosity開發的Ittle Dew
支援Windows,Mac和Linux,iOS,Android和OUYA
類薩爾達的解謎動作遊戲,在地底迷宮冒險解開各種難題,特別的美術風格獲得一致的好評。
Squad開發的Kerbal Space Program
支援Windows,Mac和Linux
這是一個沙盒式遊戲(SandBox Game),你可以在遊戲內帶領一群小小科學家設計火箭射上太空,遊戲採用詼諧簡單的方式,讓你就算火箭炸爛了也不會覺得太悲傷。
這也是另外一個Kickstarter募資成功案例,玩家扮演著世界末日後的生存者在荒蕪的沙漠與廢棄城市內展開回合制戰鬥取得生存資源。
玩家扮演著"飛天小男警"在世界各地建設建築和執行任務,可以和朋友一起建造屬於自己多彩多姿的家。
這是一款由80年代的同名小說改編的遊戲,故事裡你將會扮演最後生存下來的菁英戰士。
除了上面所列出的遊戲之外,我們當然還有許多用Unity開發的好遊戲,這些遊戲都非常值得參考製作方法與體驗遊戲內容,強烈建議你一定要上我們的網頁看看!

開發永不停止
Unity團隊

2014年1月21日 星期二

Unity Unite 2007-2014進化史

Unite是由Unity官方所舉辦的世界巡迴技術研討會,每年我們都會分享最新的開發資訊與技術給來參加的開發者們,共同學習與交換意見。

Unite 2007
打從2007年開始,一切就像是核彈爆炸般的啟動的火箭的開關,蜂擁而來的開發者渴求著新知識,我們的目標明確,不斷的支持開發民主化,不斷的自我進化,不斷的把我們的知識分享給跟著我們一同走過來的夥伴。



我們能感受到那股開發者集聚在一起的瘋狂氣氛,2007年10月10號我們在美國舊金山按下了這個瘋狂的按鈕,並開始我們的全球巡迴開發者論壇之旅

我們年輕的共同創始者們,帶領著全體Unity員工到現在,從8人到300人的公司團隊。


Unite 2008
Unity社群力量成長得令人難以想像,我們思考著今年必須做點更令人值得期待的事情,所以我們發佈了Unity Web Player,在丹麥哥本哈根會場就像是龍捲風一般的捲起一股浪潮,我們挑戰從未停止,但是支持我們的力量卻讓我們更專注往前。


Unite 2009
在今年我們證明了Unity不該只是一個程式設計師的工具,除了研發人員,美術、企劃甚至發行商都湧進了Unite加州的會場,我們之間擦出了更多的火花,不同領域的創意不斷的互相衝擊,我們也一筆一筆的記下這些需求,並準備實現它們。


Unite 2010 
好像上一場才剛結束,我們就忙著準備接下來要給開發者的需求與驚喜,超過50位講師和許多開發者齊聚在加拿大,像老朋友一樣的再次相會敘舊,越來越多的議題被加入討論,我們也很開心的舉辦了Unity開發者大賽,以及宣佈我們的新業務Union(現在為Unity Games)計畫正式啟動。

今年最令人期待的就是Unity 3的發佈,我們跨出一步重要且關鍵的一步


Unite 2011
2011開始我們發現亞洲的眼光望向了我們,更多的東方面孔出現在我們舊金山會場,因此我們認識了好多來自亞洲的朋友,也接觸了許多採用Unity製作高品質遊戲、建築模擬和醫療的產業開發者,我們不在只是一個遊戲引擎。
這讓我們非常的開心,也更加有信心要把Unity做的更完善,好用。


Unite 2012
一切的焦點都不是偶然,我們已經用謹慎樂觀專注的態度走到第9年,仍然謙卑聆聽開發者的聲音,Unity 4的發佈帶來了震撼性的影響,我們有了動畫系統、有了插件商城,我們有許多非做不可的事情,我們想要傳達給你我們想聽你的意見。


Unite 2013
每年翻倍再翻倍的開發者,今年我們在中國上海也舉辦了第一場Unite,高達1500位開發者共襄盛舉,各家大廠紛紛介接入Unity,跨平台數量已達17個,這是一個最需要專注的時機點,因為我們已經變成一個值得超越的目標,我們要做的從沒有改變,就是繼續聆聽開發者的需求,並專注往前。

我們也告訴了所有的開發者,我們不單單專注在3D市場,我們聽到了開發者對於2D的需求吶喊,我們推出Unity 2D工具,並進化UI工具。


Unity邁向第十一年,我們仍有很多想要完成的夢想,仍想認識更多的開發者,仍然勇往直前。接下來我們想要做更多,我們也做好衝刺的預備,接下來我希望你和我一樣為了這個消息而雀躍不已。




我們即將在今年2014年駐足台北,並將我們的知識分享給台灣的開發者,我們也期許未來的每一年我們也都會來到這裡,更深刻的認識這個美麗的地方。

開發者們,我希望不管你是高手低手強手弱手,我們渴望認識你,聽聽你的想法,看看你的作品,甚至跟我們講個笑話,讓我們體驗開發者應該有的熱情!

更多消息,請上Unity Taiwan官方粉絲團 
https://www.facebook.com/UnityTechTaiwan








2014年1月17日 星期五

新的官方Asset模組開發下載

我們準備升級"Standard Assets"這個摸組變成一個綜合資源庫。
在整合到Unity之前,我們先發佈了測試版讓各位開發者試試,希望各位可以下載使用並給我們一些反饋。
下載連結:


有那些新改變呢?
1.名字會從"Standard Assets"改為"Sample Assets"。
2.匯入的流程不變,但是會改從Asset Store下載安裝,以便於我們更新裡面內容。
3.添加了很多模組,包含Mecanim專用的第三人稱角色、一些範例特效和簡單的AI範例,原來的第一人稱控制器也升級成為更適合新版Unity,並包含跨平台的輸入控制範例和很多新的物件例如車子。
4.提供了一些場景幾何樣本。
5.有哪些新物件在這個組合包裡?
  • 一個新的第一人稱角色
  • 一個新的第三人稱角色
  • 一個2D角色
  • 一些已經調好的鏡頭範例,比如自動跟隨目標的鏡頭或是在場景裡可以自由控制飛翔的鏡頭。
  • 一台包含控制行設定的車子
  • 一組飛機控制腳本,把它付在一個Cube上,馬上變成一個可以俯衝左右旋轉的噴射機!
  • 跨平台輸入控制範例,可以幫助開發者在開發PC,Web和手機上跨平台產品用最小的改變可以無縫發佈不同的平台。
  • 一些人物、車子或飛機的行為AI樣本。
  • 一些常用環境物件的幾何原型,方便快速先組合出場景的行走範圍像是斜坡等等,一切都確定之後很快地可以替換為你的美術場景模型。

我們希望未來這些範例可以讓"Angry Bots"退役,未來"Angry Bots"將會移到Asset Store上提供下載,這樣Unity安裝檔就可以縮小。
由於是Beta版本,因此我們仍然會針對獲得的反饋做一些修正,也希望大家用的開心!

2014年1月10日 星期五

Unity 4.3 關於 Occlusion Culling : 錯誤診斷

這篇文章原文是由Jasin Bushnaie所撰寫,解釋Umbra在Unity 4.3的遮擋剔除(Occlusion culling)的第三篇,本篇說明更深入的遮擋剔除錯誤排除,如果你錯過了前兩篇文章,請見:
第一篇:基本篇
http://unitytaiwan.blogspot.tw/2013/12/unity-43-occlusion-culling.html
第二篇:最佳做法
http://unitytaiwan.blogspot.tw/2013/12/unity-43-occlusion-culling_26.html

本篇是系列的最後一篇文章,第一章我們介紹了Unity 4.3的遮擋剔除功能和一些基本參數,第二章介紹了遮擋剔除的最佳作法建議,本篇將會介紹一些可能發生的常見問題和如何排除。

Visualizations(視覺模擬)
Unity提供了幾個幫你模擬遮擋剔除物件的功能。透過這些功能可以幫你找出為何遮擋剔除沒有如預期的表現,Visualization可以從Occlusion介面上找到。


 你也可以從場景裡面把遮擋剔除裡面的模擬選項打開或關閉

有三個模擬效果接下來我們會一一介紹

Camera Volumes
打開Camera Volumes會顯示灰色方框告訴你現在鏡頭位於哪一區(Cell),關於區的介紹可以看看前面的文章,這個模擬可以讓你找出一個最小的smallest occluder值來輸出遮擋資料,可以讓你檢查區的邊界是否合理,例如下圖所示,當灰色區塊不正常延伸到遮擋牆壁的另外一邊,代表設定有問題。

Visibility Lines

透過這個模擬會用綠線來呈現鏡頭所看到的範圍,原理是Umbra會在場景裡從鏡頭到最遠的遮擋物中間投射出一條條的線檢查可視深度,這個模擬功能可以讓你檢查場景有沒有前一章所描述的縫隙或破面,導致一些應該被遮擋掉的物件變成可見的。同時也可以解決一些設定的問題,例如檢查出哪些物件忘了設定為靜態物件。

Portals

Portal模擬會把區之間的連接口用半透明對齊軸向的四邊形來顯示,可以幫你了解有多少連接口可以穿越,也可以協助調整遮擋剔除優化,它算另外一個方式呈現Umbra的視線正在看見的區域(綠色),所以你可以透過這個方法了解連接口的分佈或檢查場景內沒有產生遮擋剔除效果的地方有哪些。

錯誤診斷
雖然遮擋剔除在Unity運作不會有太大的問題,但有時候還是會有例外,接下來我會介紹一些常發生的問題以及如何解決,使你的遊戲執行更順暢。

隱藏的物件沒被剔除!
有些看起來應該被Umbra剔除的物件卻沒有被剔除,可能有幾個原因,Umbra的運作原理始終是保守的,代表它如果遇到太多不確定性的因素,保留物件是比較保險的。這也適用於所有無法判定結果時的解決方法。

遮擋資料的大小是由Smallest occluder進行控制,數值越大速度越快資料量越小,數值越小產生的資料解析越高,遮擋會更精確,但同時也會失去效能和擴大數據資料。

不該剔除的物件被剔除!
有時候不應該被剔除的物件會被剔除的情況,為什麼呢?一般來說可能有幾個原因,最常見的情況是當你透過一個洞或是空隙或裂縫去看某一個東西,但是Umbra判定沒有洞,所以洞後面的物件被剔除。這種情況你可以先調低smallest hole的值看看是否可以解決問題,如果只是為了測試可以調低一點有效果再調回來。

有些像是一個書架在場景裡,上面的每一本書都被設定為遮擋,如果smallest hole的值設定太大可能會造成書或架子被剔除的錯誤,這裡同理可以調低smallest hole的值試試看。

還有的可能性是在設定backface threshold參數時設定小於100,且鏡頭剛好在單面網格的背面,就算鏡頭沒有對著網格背面,有可能造成看透過去,且對面的物件被剔除。

想要解決這些問題首先當然是試著把backface的限制設回100,看看是否問題解決,如果是,代表只要重新修改模型成為雙面或是固體的模型,或是將有問題的物件靜態遮擋旗標取消就可以解決,如果你不介意遮擋資料太大,把值調成100也是一種選擇。


鏡頭跑入遮擋器,剔除效果很奇怪
如果你的鏡頭非常接近或跑進遮擋器裡面,剔除可能會變得很奇怪。通常會發生在第三人稱視角的遊戲,因為Umbra把遮擋器當成固體,從裡面運算剔除的話通常會把場景大部分的東西都剔除。反過來看,如果backface的值低於100(啟用),遮擋器裡面的座標資料會被完全清除,為了避免造成未知的效果,鏡頭更不應該跑進去。

更具體的來說,一般情況下只要鏡頭和遮擋器的距離大於smallest hole所設定的值,Umbra可以保證產生正確的遮擋剔除效果。就算接近一點也還
OK,但某些情況下因為3D像素化時會影響到遮擋數據的準確性,太接近的話有可能會導致相機的座標可能進入遮擋器。

小技巧:使用Camera volume來模擬哪些區域的鏡頭位置狀態。


如果調整backface threshold參數沒有改善問題,或是你的鏡頭跑進去遮擋器裡面,只能把物件的遮擋器旗標刪除來解決。


剔除太慢!

通常效能不好原因很單純,太多傳送口(Portal)造成查詢可見的物件需要太多時間,而smallest occluder參數是控制傳送口的解析,值越大產生的傳送口解析較低運算較快,但某些情況下會有特例,遮擋資料太簡化時像素化會讓視圖距離錯位增加,造成傳送口也會增加。雖然這不是很常發生的情況,一般來說大一點的smallest occluder值會加速處理時間,但精確度也會降低。

另一種解決方法來讓有問題的場景傳送口數量不要太多的方式是修改場景的模型,讓可視距離(View distance)不要太長,降低傳送口數量讓遮擋剔除速度更快。


烘焙太慢!

烘焙的速度大多取決於一個原因就是有多少像素需要運算。反之,像素的多少取決於場景大小和像素大小,假如你無法決定場景大小,那就用smallest hole參數來調整像素的大小 ,一開始可以用大一點的數值來加快烘焙,然後慢慢往下調整到你的角色在場景裡面都有正確的被剔除為最佳。設定的太小可能會導致烘焙要非常久,並且耗用大量的記憶體。

遮擋數據過大!
如果烘焙後的場景產生出來的遮擋數據太大,可以試試看幾個方法,首先可以改變backface threshold的值從100往下調,例如從99或50甚至30開始,找尋一個所有的遮擋剔除效果都合理的最小值。上一篇介紹也有說明這個方法。

如果更改backface threshold產生的結果不是你要的話,你可以嘗試把smallest occluder往上增加,他會很明顯的影響遮擋數據資料的解析大小,當然同時也會提升像素化的大小。

最後,大場景所產生的數據自然比小的更多,數據的大小會顯示在遮擋介面底下。

出現Failure in split phase錯誤
罕見的情況下,浩大的場景但設定了很小的smallest occluder參數,烘焙過程中可能會出現"Failure in split phase"錯誤訊息,這是因為烘焙遮擋數據的第一步是把場景細分像磁磚一樣一塊一塊的,由於這個步驟會參考smallest occluder的參數來產生,所以當場景非常大的時候會導致有太多細分的磁磚被產生,耗光你的記憶體。所以遇到這種情況必須把smallest occluder的值調高或是把場景分成更小塊來解決這個問題。

這一系列的文章到此結束,希望可以讓對於遮擋剔除有興趣的開發者了解更多原理,更多的資訊也可以參考Unity或Umbra官網。




Unity 目前已經到4.3版,是最好的2D,3D專案製作方案,想知道更多訊息請上官方網站:
www.unity3d.com

著作人