2014年10月30日 星期四

Unity Web解決方案的現狀、挑戰和未來

作者:VILMANTAS BALASEVICIUS
原文網址:http://blogs.unity3d.com/2014/10/28/the-future-of-web-publishing-in-unity-an-update/
翻譯:小七

最近,我們收到很多開發者的詢問,對於網頁遊戲未來的發展的一些疑慮,尤其是谷歌瀏覽器(Google Chrome)針對Unity Web Player的支援,所以我們發表這篇文章和開發者一起探討這個問題。

Google在2013年秋季宣佈,計畫在2014年年底,Chrome停止對NPAPI的支援。NPAPI是可提供專案在Chrome中正常運行的API,也是Unity Web Player執行的基礎。

我們無法確認Google何時停止支援NPAPI,如果Google Chrome不再支援NPAPI,最終會導致Unity Web Player無法在Chrome中正常運作。

目前,我們認為對網頁遊戲而言,Unity Web Player依舊是最好的解決方案,只要它在瀏覽器中有存在的意義,我們就會繼續支持並維護它。這代表對Unity Web Player的支援至少會延續到2015年。即使你的遊戲不能在Chrome中運行,也還可以在其它流覽器如 Firefox、IE和Safari中正常運行。

我們也理解很多開發者已經使用Unity Web Player發佈了非常多精彩的遊戲,這些遊戲也為開發者帶來了收益。所以,我們一旦有任何有關Web發佈方面的新的資訊,都會第一時間進行發佈。

我們的開發團隊正致力於維護Unity Web Player的工作,事實上,幾周前我們更新了對64位Unity Web Player的支援,可以在Windows 64位元的IE 11和 Chrome中運作,我們也正在努力使Unity Web Player可以在64位的OS X中運作,所以在停止支援之前,不會影響Unity Web Player 在64位的Chrome中正常運行。

我們都知道,在瀏覽器中執行Client的做法未來會過時,因為一些Plug-in程式並不能很好運作,也存在安全風險。儘管如此,Unity也一直努力使套件保持最新,長遠來看,允許在瀏覽器中執行本地程式對瀏覽器廠商的責任都將是個巨大的挑戰。

因此,我們正致力於Unity 5關於WebGL平臺的移植工作。我們認為它將是未來在瀏覽器中執行2D和3D的最佳及安全的解決方案。使用Unity 5發佈到WebGL平臺將完全免費並且不需要安裝任何外掛程式。

目前我們正與瀏覽器廠商一起合作,從而提高遊戲在WebGL平臺上執行校能。某些情況下,WebGL的速度將可以達到像安裝Client在電腦裡一樣快。

您可以在這裡查閱更多有關Unity 5在WebGL平臺上的測試,Unity 5 Pre-Order Beta版本已經對預購用戶或租用客戶開放下載。一旦Unity 5正式發佈,WebGL發佈工具也將免費提供給用戶使用。

2014年10月29日 星期三

手部動作捕捉器Dexmo:讓你觸摸到虛擬世界

《阿凡達》裡的納美公主有沒有打動過你,《霍比特人》裡的Gollum(咕嚕)是否驚嚇到你?這些深入人心的虛擬人物,何以能有深入人心的力量?動作捕捉技術可是功不可沒。不過,作為連接虛擬世界與現實世界的橋樑,專業的動作捕捉設備價格昂貴,對於普通消費者尤其是技術宅來說,是貴森森的又很難應用在自己的產品和創意的玩具。
一家名為Dexta Robotics的公司,是一家致力於生產機器人硬體的公司。他們近期開發了一款手部動作捕捉裝置,和市場上其他手套形式的手部動作捕捉不同,他們設計出了一款非常實惠的外骨骼裝置。該裝置被命名為Dexmo,有經典款和F2變體兩種款式,可被用於虛擬實境(VR)或控制機器人。



對VR來說,如果能提供觸覺回饋,能進一步提供虛擬世界的真實性。而Dexmo可以作為類似Oculus Rift系統內與數位世界進行交流的一種方式,F2版本就配有觸覺回饋,讓你可以感知你從螢幕上拿起的虛擬物體的大小。另一方面,經典版本則是一個純粹的輸入裝置。在機器人行業中,它可以被用來控制機械手和手臂,甚至能用於那些處理危險和敏感任務的機器人,比如拆除炸彈。

在遊戲領域,Dexmo目前為Unity 引擎提供了支援。Dexta Robotics為Unity用戶開發的庫(dll)提供了完備的設備應用支援。這一動態連結程式庫處理Unity腳本與Dexmo之間的通訊。遊戲開發者只需使用提供的API便可以完全利用Dexmo的全部功能。

在動作捕捉方面,Dexta Robotics將會提供根據他們設備優化的Unity骨骼模型與之對應的腳本,他們分別利用了Unity中的CapsuleCollider來模擬手指,BoxCollider來類比掌心部分,並且提供另一份用於處理碰撞事件的C#腳本。當用戶試圖輕觸(tap)或是捏合(pinch)時,此腳本會根據當前的碰撞器狀態以及手部動作趨勢來判定是否觸發對應的事件。開發者只需完成對對應事件的處理即可。

在力回饋方面,Dexta Robotics的庫負責與Dexmo的適配程式進行通訊並控制Dexmo上的力回饋模組。當用戶在試圖輕觸(tap),握拳(fist)或是捏合(pinch)時,他們會檢測手指指尖的碰撞器來判定是否啟用對應手指上的力回饋模組。

現在Dexta Robotics已開發了幾個範例程式,用來演示Dexmo的動作捕捉和力回饋功能。其中包含抓取球類物體的演示,當使用者抓住虛你的球體時,手部的力回饋模組會觸發鎖死;以及一個抓取不同大小方塊的演示程式,當使用者在捏取(pinch)不同方塊時,力回饋模組會在對應的位置鎖死,為使用者提供對應虛擬物體大致大小的觸覺感受。

另外,除了這些功能,Dexmo還可以被用來混合音樂,甚至是控制遙控汽車和智慧照明。Dexta Robotics最近正在Kickstarter上籌集,目標是20萬美元。如果公司目標達成,使用者就能以最低65美元的價格購得該產品(在2015年5月),點擊閱讀原文即可立即參與。

2014年10月27日 星期一

Unity 5.0 預購版Beta開放下載


作者:ALEX LIAN
原文網址:http://blogs.unity3d.com/2014/10/27/unity-5-0-pre-order-beta-now-available/



我們很高興地宣佈Unity 5.0 Pre-order Beta版本已經發佈,只要是Unity 5的預購用戶和Unity月租型客戶可以下載。

Unity 5擁有一系列非凡的新功能. 不論是個人還是企業團隊,在使用Unity 5的過程中都能體會到前所未有的開發享受。Unity 5在性能和腳本方面都有了很大的改進,並且增加了新平臺的支援。

現在發佈的試用版最接近完整版,提供給各位一個寶貴的學習機會。Unity 5在品質和效率的飛躍性進步的同時也包含了新的UI介面和腳本的改變。在高性能與所見即所得的工作流程之間保持平衡,是我們一貫的宗旨。試用版也幫我們的用戶打開了學習Unity 5中的新工具和API的大門。

你也可以仔細研讀下面的部落格中對Unity 5新特性的介紹:

詳解Unity 5中的全域光照(中文)
http://unitytaiwan.blogspot.tw/2014/09/unity-5.html

介紹Unity 5.0中的幀除錯器(中文)
http://unitytaiwan.blogspot.tw/2014/11/unity-50frame-debugger.html

用Unity 5.0混合出美妙節拍(英文)
http://blogs.unity3d.com/2014/07/24/mixing-sweet-beats-in-unity-5-0/

Unity5中的高性能物理元件(中文)
http://unitytaiwan.blogspot.tw/2014/07/unity-5.html

在WebGL 平臺上的Unity 性能基準(中文)
http://unitytaiwan.blogspot.tw/2014/10/webglunity.html

新的動畫功能(中文)
http://unitytaiwan.blogspot.tw/2014/07/unity-50.html

基於物理的標準著色器(英文)
http://blogs.unity3d.com/2014/03/20/physically-based-shading-upcoming-in-unity-5-0/

腳本的未來(中文)
http://unitytaiwan.blogspot.tw/2014/05/unity.html

自動腳本升級以應對API的改變(英文)
http://blogs.unity3d.com/2014/06/23/unity5-api-changes-automatic-script-updating/

我們的開發團隊正致力於準備Unity 5.0的一系列發佈工作,熱切期待你們的回饋資訊。如果您遇見Bug或者有任何意見或建議,請在論壇回應,這將有利於我們將Unity5.0 做得更好。


謝謝!

2014年10月20日 星期一

《紀念碑谷》企劃談手游:講述美麗的小故事

Unity China 官方平臺 - 原文連結




在2014年的Unity Awards 全球遊戲大賽中,《紀念碑谷》無疑是大贏家之一,這一款治癒系的神作獨得“最佳3D視覺效果獎”和“玩家選擇獎”兩項大獎。《紀念碑谷》的策劃分享的靈感和創意來源,或許會給您帶來意想不到的啟迪和火花。


小而美的體驗


談到遊戲的創作靈感時,Ken說道:“我們借鑒了M.C Escher的風格,做了很多不可能的圖形,然後我問了技術指導是否能實現,他說這個可以實現,於是我們就開始探索和嘗試,並開始去做。這是非常有趣的東西,我們給公司其他人看,他們也覺得很有趣,於是就有了這個遊戲。” 



《紀念碑谷》的創意來源

雖然《紀念碑谷》看起來和PSP上的《無限回廊》有幾分相似,但是Ken指出,這只是有幾個相似點而已,《紀念碑谷》的重點在於遊戲的結構,真正對《紀念碑谷》產生影響的是這三款遊戲:《Sword and Sworcery》(劍與巫術)、《Windosill》(玩具車大冒險)、《Portal》(傳送門)。

“我們關注的是遊戲的結構,用有趣的方式去講故事,我們不關心遊戲的難度或者挑戰,遊戲是小而美的體驗。”

究竟什麼是小而美的體驗,Ken給出的答案很簡單:“行走”

“在遊戲中,遊戲的主角艾達並不強壯,也沒有技能,他無法殺死任何人,他除了走,沒法做更多的事情。但是行走的體驗能夠讓很多人產生聯想。你並不知道你要走到哪,你並不知道將要做什麼,但是你一直在走,這就是冒險。我想很多人在遊戲裡並沒有意識到這點,艾達不會死,他能做的只有走,這點很重要。”


“行走的體驗是非常棒的,沒有輸贏的概念,沒有技能的概念,有的只是你的選擇和走到那裡冒險的體驗。”

從整體上設計遊戲

  《紀念碑谷》確實給玩家帶來了深深的感動,觸及著每一個玩家的心靈。而作為一個遊戲劇情、畫面、玩法、音樂這些要素哪些更重要? Ken給出了他自己的答案:“所有的要素都很重要!”從一般意義上說,有些玩家喜歡劇情,有些玩家喜歡畫面,作為設計者需要迎合玩家的需求,但是Ken指出:“所有的要素都是同時展現給玩家,而玩家並不會對這些要素做區分,所以我們在設計的時候並不會單獨考慮某一要素,而是作為一個整體來設計。” 


想加入團隊?沒問題

據Ken介紹《紀念碑谷》的團隊共有8個人,包括2個藝術設計、3個程式、1個產品經理、1個企劃、1個測試。但是“我們的角色不是固定的”,Ken說道,“產品經理、程式、企劃都會參與到關卡設計和遊戲整體的設計,我們並不是分得很明確。” 

“所以說我們一直在尋找具有豐富經驗的人來加入我們的團隊,他能夠知道遊戲產品如何運作並且能夠自我管理。比如我們最近在一個VR項目上新招的一個小夥伴,我不需要告訴他你需要做什麼,他自己知道如何去讓遊戲有更好的表現,他能夠自己研究新的技術並且對很好地管理計畫,這些是我們需要的。”

堅持收費,不會免費

面對目前手遊火熱的行情以及免費遊戲盛行之風,Ken坦言,《紀念碑谷》的目標並不在於能夠在商店排行榜排第幾名,或者賺大把的錢,當然他們已經賺到了足夠讓團隊繼續開發下一個遊戲的錢。“玩家在Twitter上和我們分享他們的孩子或者父母玩遊戲的照片,這或許才是我們標誌性的成功”。“如果我們把遊戲變為免費,那我們將改變整個遊戲的體驗”,為了更好地用心做遊戲,也為了給玩家帶來更好的體驗,“這個遊戲必須是收費形式的,這裡沒有為玩家考慮,我們只是用最好和最真誠的想法做出了《紀念碑谷》。” 

關於未來,Ken透露正在開發《紀念碑
》後續的關卡,會以DLC的形式推出,當然,這些也是收費的。同時團隊也在開發一個新的VR遊戲《Land’s End》,而未來《紀念碑谷》也會登上其他平臺。 


2014年10月15日 星期三

WebGL上第一款Unity遊戲:《Aaaaa! for the Awesome》


WebGL上第一款Unity遊戲:《Aaaaa! for the Awesome》
作者:KRISTYNA PASKOVA, 翻譯:小七
原文網址:http://blogs.unity3d.com/2014/10/14/first-unity-game-in-webgl-owlchemy-labs-conversion-of-aaaaa-to-asm-js/


WebGL平臺上的第一款商業Unity遊戲《Aaaaa! for the Awesome墮樓驚魂》今日曝光。對Unity WebGL工具和Owlchemy Labs來說,這是經歷了長時間努力換來的成果。你可以在 Humble Mozilla Bundle 瞭解他們與Dejobaan Games 的合作成果以及WebGL平臺上其它一些精彩的遊戲。

“我們使用的是最早期版本的Unity WebGL匯出工具,總體來說整個開發過程出奇的順暢”,Owlchemy Labs的CEO Alex Schwartz 在部落格中評價。

“Jonas Echterhoff, Ralph Hauwert的團隊將Unity引擎核心使用asm.js運作,並且使Unity的專案驚人流暢的在瀏覽器中執行。難以想像要用什麼樣技術,能夠像魔法一樣將C#腳本一路轉換為最終的100萬多行的js檔”。



但是,要將遊戲編譯到新的平臺,並不是點了那個大大的WebGL匯出按鈕然後坐等它自己完成那麼簡單的。儘管Unity已經在後面完成了大量的任務,還是有一些挑戰是和Owlchemy Labs合作來克服的。

移植工作從2014年6月開始,Owlchemy獲得提供給alpha組的WIP WebGL匯出工具的許可後。像《Aaaaa! for the Awesome墮樓驚魂》這種比較複雜的遊戲,也可以在限定時間內使用最初的框架移植成功嗎?

“玩了兩天匯出工具之後,我們發現是可行的(也有實際做了東西在瀏覽器執行),但技術就是這樣,我們對於之後專案會遇到甚麼問題很迷惘。會遇到一兩個bug嗎?又或是成百上千個?我們能在計畫內如此短的時間內完成嗎?慶幸的是,在發現了幾十個Bug並修復之後,我們成功移植了遊戲!”

感謝幫我們回報Bug,之後有工具版本發佈時這些Bug都將被修復,開發者可以放心使用並享受從Unity移植到WebGL平臺所帶來的便利。

Alex看到了Unity 專案在網頁上發佈的前景。“可以期待在不久的將來,Owlchemy Labs將帶來更多他們的移植遊戲!由於我們遊戲的執行速度幾乎等同於原來的版本。對於內容的可攜性,我們已作出了決定性的變革,能使遊戲開發者將他們極具創造力的作品移植到另一個新平臺,這是一件值得期待的事情。”

從最初我們在哥本哈根的HackWeek進行WebGL試驗到現在已經兩年多了。我們對目前的進度,以及與Alpha和Beta團隊及其它包括Mozilla在內的合作夥伴,都非常滿意。在玩《Aaaaa! for the Awesome墮樓驚魂》這個遊戲的過程中我們感到非常有趣,並且我們所有人都很期待即將上線的Unity WebGL遊戲。我們更加迫不及待地想看到,你們將在Unity5發佈後使用Unity WebGL工具,製作出何等精彩的內容!



譯者注:
《Aaaaa! for the Awesome》是一款採用Unity引擎開發的“跳樓遊戲”。本文中翻譯成:《墮樓驚魂》。遊戲的玩法就是玩家從一幢幢摩天大樓徑直跳下,採用主視角看著地面越來越近越來越近,感覺自己速度越來越快越來越快……在“墜落”的過程中,可以幹出瘋狂的舉動來贏得高分,比如極度接近目標樓群(當然撞上就完蛋),砸窗玻璃,打鳥,飛速而下的同時在牆上塗鴉等等。



2014年10月9日 星期四

在WebGL上的Unity性能跑分


原文網址:http://blogs.unity3d.com/2014/10/07/benchmarking-unity-performance-in-webgl/
作者:JONAS ECHTERHOFF

Unity 即將支援的一個振奮人心的新平臺就是WebGL。我們將Unity專案移植到新的平臺時,一個很重要的問題,就是搞清楚專案在WebGL上校能,並看看能否讓它的校能更快。

談到校能,WebGL很特別,原因如下:所有的程式碼都需要被交叉編譯為JavaScript,一些常見的加強效能的技術尚未支援,例如多執行緒和SIMD(單指令流多資料流程)。我們依靠一個全新的IL2Cpp方案來執行腳本。所以我們要探悉的是:對於玩遊戲來說它的效率夠快嗎?在不同的瀏覽器和硬體中如何比較呢?什麼樣的編譯設定會產生最好的結果呢?

這些問題我們也曾無數遍地問過自己,並且經常有客戶和廠商追問我們關於WebGL的進展。最直接的方法是在WebGL中執行Unity的專案然後監測FPS。我們發現測試過的大部分內容,其FPS都能達到原生的至少50%(這取決於很多因素,例如所使用的瀏覽器)。你可以測試這裡提供的兩個遊戲Demo。

然而,我們希望得到精准可靠的資料。哪些模組在WebGL中特別慢,那些又比較快呢?不同的實現方式之間又有什麼區別呢?

為了找出答案,我們創建了Unity Benchmarks,它是一套在Unity中編寫的測試套件。這些測試項目著重於引擎不同的功能,並產生易於比較的校能資料。點此連結試試在你的瀏覽器中執行WebGL的Unity Benchmarks吧! (請注意,Windows系統可能會有一些超高的錯誤分數會出現在
Mandelbrot GPU這項測試,因為它們渲染shader的方式不對。我們正在研究該問題並找出解決方案。)
物理效能測試

Unity Benchmarks有分別針對3D物理、2D物理、粒子系統、導航、動畫和皮膚、初始化物件、腳本、draw calls和GPU圖元處理的不同測試項目。每個測試都會計算固定時間內Unity能重複執行的任務的次數。對於產生的資料數字越大表示性能越好。

如果你執行所有的測試,它會給出總分數。該分數是所有基準測試分數的加權總和。由於不同的基準測試有著完全不同的結果,所以總分中它們有不一樣的權重。該權重以WebGL中測試機器產生的近似結果來校準。但那多少有些隨便,所以在比較結果時,各項測試的分數要比總分有價值多了!

解釋了這麼多之後,下面是一些測試結果(所有的測試都在15寸Retina的MacBook Pro上執行,CPU 2.6GHz,i7,作業系統OS X 10.10):


為了讓圖表更好懂,分數都做了等比縮放,FireFox = 1.0。分數越高表示性能越好。

一些觀察結果:

· 在大多數測試中,Firefox使用的asm.js在幾乎所有的測試都比Chorme和Safari更快,它是目前最適合跑Unity WebGL內容的瀏覽器。希望不久的將來,asm.js也能在其它瀏覽上跑。

· 如果你的程式大多是GPU-bound(GPU性能瓶頸)的,可以期待WenGL的校能將非常接近原生程式。

· 在某些地方WebGL的效率會高出原生碼。這是針對測試項目大量依賴腳本校能的情況(Mandelbrot 和CryptoHash, 都是使用C#實現了他們的演算法),因為IL2Cpp可以產生優化更多的程式(希望瞭解更多,之前有發佈過一篇關於IL2Cpp的文章)。

· 在一些大量優化過使用多執行緒和SIMD的地方,原生碼的效率還是可以高出WebGL好幾倍,例如3D物理測試(Unity5中的PhysX3.3是完全支援多執行緒的)。與之相比,2D物理測試在Firefox與原生碼中的效率就比較接近 (Box2D不支持多執行緒)。希望在不久的將來,JavaScript能支持SIMD和多執行緒,這一點就會改變。

最重要的一點是,儘管WebGL還存在一些比原生碼慢的地方,總體上的校能已經非常不俗了,並且未來還會往更好的方向發展。我希望這些測試可以幫助到那些希望優化自己的JS引擎和WebGL實踐的開發者們。

2014年10月2日 星期四

Unity實驗室 : 自訂發佈設定

作者:RUNE SKOVBO JOHANSEN
原文網址:http://blogs.unity3d.com/2014/10/02/in-the-labs-custom-build-configurations/

“Unity實驗室” 是一個新系列的部落格文章,焦點會著重在介紹未來可能會出現在Unity,但目前正在實驗中的功能。

在首篇的"Unity實驗室"我們會探討關於開發者自訂發佈設定的一個實驗功能。想法是讓開發者可以針對發佈的平台自訂自己的設定,這樣就可以做到不同專案發佈到不同平台時,可以有各自的設定。


這方法允許一個平台設定多個不同的發佈設定,例如發佈iPhone以及iPad,或是發佈PC版或上Steam專用版本等等。這並非官方給的選項,而是開發者可以自己命名與設定,無上限的新增。


左邊是目前版本的畫面,右邊是實驗中的畫面。

支援繼承(SUPPORT FOR INHERITANCE)

自訂發佈設定會支援繼承,一個專案的發佈設定可以從另外一個專案繼承過來,而且只會把指定好的設定覆蓋過去。

這代表未來可以定義一些比較大方向的設定,例如一個用於所有觸控機型的設定。相關屬性設定一次,未來只需要從這個設定繼承改一改就可以了。

發佈設定可以針對特定平台(例如iOS),也可設為自訂規則。為了讓繼承規則單純,只有自訂規則才會有子發佈設定。

播放設定(PLAYER SETTINGS)會整合到發佈視窗
每個自訂設定可以指定獨立的播放設定,因此播放設定將會跟著專案而非平台。未來也會把播放設定介面放入發佈介面。

發佈視窗永遠都會有一個按鈕可以開啟播放設定,新的發佈介面把舊的介面用相同邏輯更進一步改善把播放設定放在同一個介面,會顯示樹狀結構的設定圖取代原來的平台列表,並為每一個專案產生播放設定, 場景設定, 發佈設定的標籤。每個版本的設定也可以覆蓋(或不覆蓋)所包含的場景列表。

覆蓋貼圖(TEXTURE OVERRIDES)

在Unity裡可以針對平台指定不同的貼圖組合,像是貼圖大小或格式,可以依照需求不同平台採用不同設定,雖然目前尚未在進入實驗階段,但未來希望可以針對每個發佈設定來定義這些貼圖。意思即使採用觸控設定低解析貼圖,但仍允許底下的iPad發佈採用高解析貼圖。當然每個覆蓋方式都是可調整的。

定義發佈設定(BUILD CONFIG DEFINES)

Unity允許使用程式來定義某些特定平台,這是另外一個尚未成形但有強大潛力的功能,未來有可能在發佈設定加入程式碼來做些規範內的控制。

簡易預設值(SIMPLE DEFAULTS)

預設情況下建立一個新專案時會產生一組發佈設定,每個不同的平台都會產生一個設定,並繼承自一個基礎發佈設定。這代表工作流程在Unity裡是很簡單的,而且透過選項很靈活(複雜性高)的產生發佈設定。

開發者們,這樣的發佈設定對你來說,那些功能是你想要的?那些流程是可以簡化你的工作量的?

我們也想聽聽!

著作人