顯示具有 Unity 標籤的文章。 顯示所有文章
顯示具有 Unity 標籤的文章。 顯示所有文章

2012年8月24日 星期五

Unity 2012大會第一天摘要


Unite 12 第一天 大會摘要

哈囉, 大家好!
這是Unite 2012大會的第一天 (如果沒有計算教育訓練的天數的話!)快結束了, 真是美好的時光 , 能夠與所有的程式開發者會面真的很棒. 今年第一天共有1200與會者, 25堂會議.

今天用了幾個會議主旨開場, 展示了幾個很酷的東西, 我們來複習一下:

首先David給大家介紹Unity到目前為止有的東西. 讓我們回憶起開發過程, 遊戲/產品從一開始到現在的演進 .

接著Joachim先生展示了Unity 4.0的Mecanim animation system動畫系統. 展示了它能驚人地整合使用動態捕捉資料, 並說出在Asset Store線上資產商店許多關於Mocap data的計畫. 我們讓那些沒有用過mocap資料的人能夠取得mocap data, 這些動作捕捉資料都是合格的, 能用在您的動畫上面. 我玩過幾版的Mecanim, 我也有動畫的背景, 我真的很興奮, 看到這個史詩級的新增功能為整個Unity社群所帶來的優勢!



Joachim也展示了DirectX 11 優先用在Butterfly蝴蝶效應這個專案上. 這是Passion Pictures工作室製作的電影短片. 接著Joachim又跳到編輯器. 展示電影是如何合成. 並介紹了編輯器的特點. Unity 4.0真的提昇了繪圖擬真度的極限!

在Joachim展示了許多Unity 4.0新功能後 (他有介紹到Shruiken手裡劍的功能改進 ),接著就換Nicholas上場, 他展示了時間軸的功能, 使用者可以選取, 調整遊戲中的物件, 然後綁定給動畫或是音效, 並定義物件在遊戲中的行為, 完全不需要寫任何一行程式碼. 這是我們首次想要編輯器中, 讓世界狀態的第一級物件(world-state first-class citizens)可以有時間的概念, 他還宣布Unity能夠支援巢狀的prefab (nested prefab), 觀眾都十分歡迎這功能.

Nicholas先生也展示了遊戲中選單, 目前還在alpha階段的GUI系統, 這是我在製作的功能, 感覺上比我記憶中還要久. 能夠即時地編輯, 允許開發者能夠在遊戲場景中產生完全3D的介面.

Adobe的遊戲指導(Director of Gaming) ---Emmy Huang先生, 在Unite 2012大會演講台上, 談到Adobe Flash Player的遊戲支援 ,這是Unity與Adobe公司的合作, 提供Adobe Flash Player開發工具的外掛(add-on). 這對Unity所編輯的遊戲能夠因Flash Player這個具有全球廣大的使用者, 是個很棒的選項.

最後, 從三位Unity的元老創立者, 發表了幾個驚人的宣布, 將要支援新的平台. 我們與Intel公司達成了協議. 我們透過Union發表遊戲到智慧型手機與平板上面, 經由Atom processor處理器所運算. 透過Union大量的, 由Unity所開發的Android遊戲, 將發表到Google Play與其他的Android市場.

目前Union遊戲共有120個. Air Attack, Samurai, and Frisbee Forever這些公司被挑選出來針對Atom這個計畫進行合作. 其他公司也會陸續加入, 除此之外, Unity 透過Unity 4.0 也將支援Microsoft的 Windows 8與 Windows Phone 8.


在元老談話後, 我們從我們的客座大方向講者Peter Molyneux先生展示了, 他剛成立的工作室22 Cans 第一款遊戲, 利用Unity開發的Curiosity遊戲. Molyneux新的專案是22 Cans的第一個實驗性的遊戲, 允許同時有上百萬個用戶上線. 在這個實驗性的Curiosity遊戲累積經驗以後, 將會用在開發更大型的遊戲上面. 這是未來的遊戲! Lionhead的前老闆與其Bullfrog legend工作室也使用Unity開發遊戲.

喔, 還有最後一件事...
我們把Unity的關鍵功能影片uvw unwrapping錄好了, 你可以到這裡欣賞.

如果你希望上方圖片的完整解析度版 請留個言

@Joe_Robins

[相關資訊]


2012年7月27日 星期五

Unity 4: AAA等級的繪圖畫面


大家好!
我們是Unity行動裝置的團隊. 有了Unity 4, 你就可以發佈您的遊戲到10個不同平台. 在這篇文章裡 , 我們將專注在Unity更新的新增功能, 你可以先看以下影片, 讓你知道整個行動平台上的開發概況 ,而每個功能的技術資訊, 請繼續閱讀:



動態陰影
Unity 4提供客戶最想要的功能:在行動裝置上顯示動態陰影. 當今行動硬體效能越來越好, 有了Unity 4, 你現在可以從方向光(directional lights)產生硬邊的動態陰影.

在行動裝置上展示動態字型
在Unity 4裡面, 你可以在行動裝置上使用動態字型, 你可以使用任何OS字型, 不需要在你的應用程式裡面先涵蓋字型資料. 在執行期, 字型表會動態地產生, 只載入會用到的字體, 這讓你的應用程式維持最少的軟體大小. 如果你不希望使用某OS字型, 你也可以嵌入ttf檔案, 使用動態字型可以節省執行期材質記憶體, 當你有大量字型的時候, 但是一般來說不會全部用到這些字型. 除此之外, Unity 4還支援使用類似HTML的標籤, 用來對文字進行渲染, 這讓你輕易地控制文字的形態. 動態字型與類HTML標籤都是這個產品的核心, 而且不限於使用在行動手機平台上.

當處理lightmapping時會一併考量Normal maps
Lightmaps是用來增強遊戲寫實度的好辦法. 在Unity 4裡面烘焙lightmaps時, 也把Normal maps計算進去. 這表示你可以在靜態的光照上面看到normal map的資訊, 這可以用在所有的光照模式, 並不局限於行動平台上. 這個功能讓lightmaps效果變得更驚人!

自動增加解析度, 當你算出低解析度畫面時
Unity 4現在可以設定算圖解析度, 跟原始裝置解析度不同. 這個功能讓你可以以較低解析度來渲染遊戲, 然後當顯示的時候再調高解低度. 因為你可以用較小的buffer來渲染畫面, 這樣的作法可以得到更好的效能表現.

針對Android平台的Eclipse專案產生
當使用Android平台, 你現在可以產生Eclipse專案, 而不是直接從Unity發佈. 這功能讓你可以更容易地整合, 並修改, 當你有用到第三方資料庫的時候. 而且在這個階段, 你也可以添加Android特有的程式碼, 一旦你佈署到某裝置時, 你就可以透過Eclipse進行debug的工作.

採用Tegra對Android裝置進行GPU側寫
當您想要最佳化(最小化)您的遊戲時, 最重要的一件事就是先進行側寫 (profile) . 側寫可以幫助你找到遊戲中那個部分跑的比較慢, 或是哪個區域你可以添加更多的遊戲資產物件. 現在你可以在Android手機遊戲上進行GPU側寫, 透過Tegra晶片, 藉由使用這個Unity側寫工具讓你可以在記錄Tegra使用, 就好像你在PC遊戲上做的一樣. 這包含了取得個別draw call timings, 然後也可以調查算圖流程上每個frame的記憶體使用, 算圖紋理的使用...等等參數.


Unity 3D 台灣代理請洽 奇銳科技 (02)2557-3321

[相關資訊]


2012年7月5日 星期四

Unity全新GUI介面

現在大部分的人都在忙著Unity 4.0 發表的準備, 我們團隊則是專注在下一版的新GUI研發. 我們覺得是時候來分享一下相關資訊, 讓你知道一下我們到底在幹嘛! 以下是我花一天的時間整理的東西:

基礎
替遊戲設計GUI的時候, 大部分會假定外觀會從視窗表現, 我們認為彈性很重要, 所以我們所有東西都使用動畫. 讓我們看這個有點呆板的按鈕. 這個按鈕含有三個元件, 背景圖, 框線與標籤. 新的GUI編輯器, 這些東西會由不同的元件構成.

這個設計很強大, 因為他可以讓你替不同的元件設計動畫, 按鈕的元件可以根據使用者的操作播放動畫, 每個元件可以透過GameObjects的階層來啟動. 所以, 如果你希望滑鼠滑過去的時候添加某聲音 , 你只需要把某聲音檔拖曳到GUI Editor, 當你記錄滑鼠滑過的狀態時. 不需要寫程式碼.

位置
我們會盡可能地讓你在Unity裡面很順暢地工作, 這樣的概念也放到了新的GUI系統. 我們從頭建立了完整的編輯器, 簡單拖曳您新組裝好的按鈕到GUI editor, 移動, 縮放大小, 重新指定子母關係, 設定動態. 希望設定常用UI, 你只需要丟到工具列即可.

為了要加強編排的彈性, 我們採用了類似Apple的縮放控制. 每個GUI元件都有自己的大小, 相對於其母元件, 以及一組的縮放控制, 讓你知道如何控制母元件的大小與母元素結合. 這是很棒的方法來處理不同長寬比的, 具現代感的東西.

3D GUI
3D群組讓你的UI元件可以有完整的透視變形, 能夠讓UI設計變得更具層次. 你可以看到把這個概念用在雷達元件設計上, 每個小東西都有它自身的3D動畫表現.

排序
timelines提供了物件排序很清楚的控制, 最上面一層就是放在最上面. 你可以在timeline上很容易地往上或是往下拖曳.

用在GUI裡面的紋理貼圖會自動地避免重疊, 為了要減少draw cal, l 我們寫進了一個動態的重疊偵測功能. 它會找到哪個元件在切換, 避免深度的改變, 在上圖的那個GUI只花了5個draw calls.

操控
新的GUI系統提供你大量的標準控制器, 以及幾個細緻的按鈕開關, 專為行動裝置遊戲所設計. GUI系統包含了對多點觸控的完整支援, 為了要對用戶按壓互動的反應, 你可以很簡單地拖曳一個GameObject, 然後選怎用怎樣的方法去呼叫, 從C# 的角度, 這只不過是個代理人, 你也可以從code的方式掛上去. 所有內建的元件都可以用script控制.

如果你想要寫你自己的控制器, 你可以從GUIBehaviour來改, 這讓你可以callback OnMouseOver, OnMouseOut, OnKeyDown, OnMouseDown...等等. 所有的控制器都可以使用動畫系統以達到最大彈性, 你可以模擬, 幾乎可以從code中做出任何你想做的東西.

我想說的就這樣! 關於這個GUI我真的超級High的! 很有創意也很有趣! 我接下來會花點精力在修bug上, 這樣我們才可以把這小孩交到您的手上.

如果您有任何問題,請在以下留言, 我會盡可能地回答您.

繼續寫程式!

Nich敬上


Unity 3D 台灣代理請洽 奇銳科技 (02)2557-3321

[相關資訊]

2012年6月29日 星期五

Unity 4----Mecanim角色動畫功能介紹



嗨!
我是Robert Lanciault, 我是Unity公司的Mecanim首席開發者. 我寫這邊文章是要提供您更多關於這個Unity 4裡面新角色動畫系統--- Mecanim的更多資訊. 我們很高興有這麼多同好想要趕快來試試Mecanim!

Sonny Myette, Pierre-Paul Giroux和我是在幾乎三年前才開始開發這個Mecanim Animation Middleware軟體, 當Unity公司去年聯絡我們時, 我們很快發現這對我們的技術來說是一個很棒的機會! 讓我們的技術能整合到遊戲引擎裡面. 我們就能開發出最棒的動畫工具, 我們在六個月前加入這個絕佳團隊, 我們很興奮在Unity 4.0裡面發表第一版的Mecanim!

很多人迫不及待想要知道跟多技術細節, 我能理解各位心情, 我們會在Unity 4.0正式發表的時候提供完整的說明文件, 同時, 我希望這篇文章能夠對各位有幫助.

Mecanim是一個完整的遊戲角色動畫統包方案(turnkey solution) , 它讓你完全不需要耗費長時間的開發來整合到第三方插件的中介軟體(middleware) . Mecanim原生就能整合到Unity引擎, 且具有最佳化, 從編輯器, 您可以取得要製作動畫資產所需要的工具, 直接在遊戲中產生.

Retarget你的動畫
Mecanim 的Retarget功能讓你可以在大量的動作庫中選擇, 然後很快速地開始對自己的角色設定動畫, 不需要花大量時間在處理mocap檔案, 就直接開始. 你可以到Unity線上商店或是用自己的mocap檔案或是用手key的動畫, 然後轉換到可以retarget的動畫資產上.

retargeting rig功能讓你只需滑鼠點幾下, 處理bone mapping 進行站姿計算就可以自動設定好角色. retargeting rig還會分析人體動作到肌肉的收縮, 然後運用質量的模型來計算身體的質心與平均的動態軌跡. retargeting rig也能使用收縮的肌肉資訊, 根據您的標準動畫檔. 大部分的狀況,則是 套用動畫資產到您的動態角色上.

動作混合樹與狀態機器(Blend trees and state machines)
Unity編輯器提供強大的工具, 幫助您從導入的動作檔分割, 產生循環與擷取運動軌跡, 這些動作片段可以用在動作的混合樹上面, 或是不同狀態的階層狀態機器(Hierarchical State Machine). 混合樹讓你可以由少數的動作檔就產生各種各樣的動作. 混合樹編輯器, 讓你可以定義混合的參數, 或是預覽混合後的動作, 就像動作片段一般, 可以作為某種階層狀態機的某個狀態.

多層階層狀態機器(Multilayer Hierarchical State Machines)是透過動畫師工具(Animator Tool) 產生的, 這個控制器可以定義任意數目的圖層, 每個圖層可以使用它自身的狀態機器或是從主層分享狀態機器. 圖層可以被蓋掉或是與其他身體遮罩進行混合, 控制身體的某個部分受到影響. 最終, 你將使用狀態機器的階層來分割出複雜的, 又巨大的控制器成小的, 可以重複使用的模組.

轉場預覽(transition previewer) 結合了多圖層階層狀態機器, 讓你可以輕易地編輯或是微調動作轉場, 調整到完美的狀態, 即時的連結(Live Link)視覺回饋讓您可以立即預覽狀態與轉場, 讓你處理遊戲中複雜控制器的錯誤.

IK rigs
然後你就可以套用最終的動畫, 是用自動產生的IK rigs 來調整踏在地面的腳掌, 放在牆邊的手掌, 或是觀看某物件的雙眼, 頭部與整個身體的調整. 其他功能, 如腳部往定話, 自動計算混合的軸心, 與軌跡吻合功能, 幫助你產生非常寫實的互動動畫.

你可能會想, 那到底可以有多少角色可以帶有這樣強大的動作功能呢? 嗯, 我們在標準的桌上電腦 放了一千個角色還可以跑到每秒30格的畫面呢!

記得看一下以下影片喔! 感謝~


Unity 3D台灣代理請洽 奇銳科技 (02)2557-3321

[相關文章]

2012年6月23日 星期六

Unity 4新增功能介紹

改變下一場遊戲規則
Unity 4 開發平台的次世代遊戲 ,包含了全新的角色動畫科技, 更多發佈的選項, 手機平台上的陰影顯示, 支援DirectX 11...等關鍵技術. Unity 4.0將是Unity 4系列的首發, 今天就可以預購Unity 4 , 一起來加入這場真正的AAA頂級遊戲的遊戲引擎的探險吧!

Mecanim, 簡單又強大的角色動畫科技
Mecanim是Unity中獨特的又強大的, 具有彈性的角色動畫系統, 讓你的人形角色變得栩栩如生, 具有驚人的流暢與自然動態.

只要你在Unity裡面設定好rigged model, 先進的retarget功能讓你可以重複使用動畫. 適用於廣泛的體型. 你可以利用從Asset Store線上商店的動畫與mocap資料讓角色動的更自然, 而CPU使用率卻極低.

透過Unity的視覺工具, 定義並微調您的動畫, 容易建構並編輯複雜的狀態機制, 而混合樹可以達到您角色動作更完整的控制. 需要設定群體動畫? 您不但可以精確又有效地控制, Mecanim的穩定度與強大的功能, 還具有新的最佳化, 例如skinned mesh instancing, 確保平順的runtime效能..

變成您遊戲的主要平台
讓您可以透過Adobe Flash Player發布到全世界!
全球有超過十億個電腦有安裝Adobe Flash Player, 這樣你就可以展示您的Unity 3D對真正的全球平台. 創建遊戲, 或是利用您現有的Unity 3D內容, 對iOS, Android, 電腦或是網頁, 都可以無縫地發布到Adobe Flash Player, 且具有絕佳的速度與易用性!

發布到Linux: 用unity製作驚人遊戲的市場已經成熟了
Unity 4 Linux桌面獨立預覽功能
這是最多客戶要求的功能, 在 Linux 上面輸出您獨立的桌面遊戲, 現在用Unity 4就可以達成了. 雖然相對來說平台支援不足, Linux遊戲還是很蓬勃發展的, Humble Indie Bundle與Ubuntu Software Center這兩款的初步發布的成功, 都證明了Linux用戶很樂意付費購買遊戲. Linux獨立的發布功能將會開放給所有的Unity Desktop用戶, 不會索取額外費用. 將您的遊戲轉換到Linux平台上吧~ 大家都急著要玩高品質的遊戲!

視覺擬真與AAA頂級的算圖效果
達到你想要的藝術效果, 讓玩家感動
創造驚人的畫面, 具有大量的耀眼的, 微妙又真實的細節, 發布吸引人的遊戲, 且平順地支援跨平台功能. 行動裝置上顯示陰影效果, 用自身陰影與即時陰影來增加您iOS與Androids手機的寫實度.

針對行動裝置設計的微調側寫工具(Refined profiling)
Unity 4的側寫工具(Progfiler)現在會回報在具有Tegra 晶片組的Android行動裝置執行遊戲實的GPU使用率, 這樣一來, 你就可以專心在調整遊戲在執行時的效能瓶頸了. Unity Profiler會回報在不同遊戲上花了多少時間, 玩遊戲時開啟 Profiling功能, 然後記錄 CPU 與GPU的使用率, 算圖, 物理運算, 聲音與記憶體等效能資料.

DirectX 11算圖
在你在PC遊戲平台有更高的視覺擬真, 與更快速的算圖時間. Unity 4現在支援Windows DirectX 11繪圖API, 改善了效能與計算Sshaders的能力, 能夠利用GPU如同平行CPU一般. 利用夠多複雜的shader, 因有了shader nodel 5.0, 可以表現更豐富的細節, 場景環境可以具有 tessellation模型細分的功能.

Lightmapped的場景可以有更多細節與控制
Unity 4的 iterative lightmap baking光照貼圖烘焙效果讓你可以完全控制您的lightmap流程, 新的烘培選取物件, 可以加速您的烘焙時間, 只處理你場景中的部分物件. 還有其他許多新的更新, 例如當lightmapping時使用normal map, 而烘培時只需要更少的記憶體需求, 比以前更快, 且更容易使用, 更好表現您場景中的細微光線 . normalmaps結合 lightmapping ,讓場景物件更加美觀, 在物件與物件之間有更平滑的過渡效果.

Skinned mesh instancing
讓您有效率地產生群體算圖系統. Unity 4提供您script讓您可以從 skinned mesh renderer輸出, 因此你可以預先計算動態的姿勢, 或是消耗極少的資源就可以渲染多個instance物件.

新的Text Rendering Backend
Unity 4現在能在手機遊戲上顯示動態字型 ,不論解析度, 可以顯示亞洲字型 , 使用類似 HTML的markup來控制字型大小, 粗細與顯示方式.

工作流程的更新: 更有效率地創建您的遊戲世界
更快的速度與流暢性製作美麗的遊戲. 使用Unity 4你會嚇到, 竟然可以這麼快速地產生高品質的遊戲. 導入您的美術資產, 用市場上最萬能又有效率的資產流程進行. 組合您的場景, 用簡單的模組建構, 而強大的工具讓你可以用直覺得工作環境來設定, 一邊編輯遊戲, 一邊執行遊戲測試, 讓你有持續的動能, 專注在完成遊戲製作上.

流暢又精緻的元件為基礎的工作流程
使用新的方便的下拉式選單, 採取捷徑, 為物件添加元件, 新的 copy/paste 功能讓你輕易地就能夠移動元件, 或是從Play模式回復編輯模式, 只需要上下移動元件堆疊, 就能重新整理您的影像特效 達到你想要的效果.

快速的搜尋與管理
輕易地在大型, 複雜的專案裡搜尋想要的物件.

Unity 3D台灣總代理請洽 奇銳科技(02)2557-3321

[相關資訊]

2012年6月16日 星期六

Unity 3D品管測試流程揭密(二)


作者:Thomas Petersen
到了介紹測試Unity的第二篇. 如圖前一篇提到的, 我們有軟體測試工程師跟研發團隊很緊密合作, 建立高品質的Unity軟體功能. 測試的軟體開發工程師與軟體測試工程師一起合作, 提高測試度與製作工具, 架構用來測試Unity. 在本教學裡面我要講更多細節:

手動測試
任何結構的手動測試的努力都是為了整個管理系統, 通常會用的工具是表格, 但如果有很多人參與的話, 你就必須要有真正個工具來執行這項工作. 在測試過很多不同產品後, 我們決定用QMetry. 就像我在前一篇提到的, 手動測試主要就是要找到如何涵蓋區域並回報研發團隊整個狀態, 這主要是跟檢視與回饋有關. 利用QMetry這類的工具, 可以幫助我們追蹤兩者. 在同一的地方, 我們可以整理測試需求, 整理新的測試週期, 追蹤產品的缺陷, 放到bug追蹤清單裡, 產生整個Unity各部分的報表, 以及哪種類型的bug.

除了非常結構性的測試, 我們也使用大量的探測型的測試, 找尋新功能的bug. 這其實是一種藝術, 它會攻擊軟體然後找到bug, 不是每個人都具有有效執行這項任務的能力. 而這具有項技能具有很高的價值, 探測性測試最極端的例子是臭蟲大掃除(bug bash) 也就是研發團隊的所有成員大家分組盡可能地找到所有的bug, 找到最多bug的團隊會給予好料, 好吃好喝的獎勵!

還值得一提的是我們在bugtracker (FogBugz) 與source control system (Mercurial)整合的很好. 也就是我們可以從bug回報中追蹤需要修正得源碼, 這讓我們可以知道在不同版本的Unity裡, 可以驗證哪些修正, 我們也可以持續地建版, 然後測試每日的版本.

自動化
大部分我們現在做的測試都是自動化的. 若是回歸測試(regression testing) , 我們有不同的架構, 能幫助我們產生不同類型的測試. 如果是小的, 獨立的Unity Runtime測試, 我們有Runtime Test Framework架構. 有了這個架構, 我們可以產生非常小的, 又快速的東西來執行測試, 針對Unity裡面特定的目標來測試. 它能夠對我們所有的目標執行測試案件, 所以其中單一的測試案件可以在多個支援的平台上確認. 這項功能具有極大的價值, 只需要施展很小力氣就能得到廣泛的涵蓋性. 也這樣才可以讓所有需要植入介面在所有平台上變得可能, 讓我們可以用相同的方式與所有平台的版本溝通.

再者, 這個架構就像測試沙包一樣(sandbox)很容易使用, 也不容易產生很笨的東西. 對於大型測試 我們有Integration Test Framework. 有了這個架構我們可以產生測試案例的更大視野, 通常會要花較久的時間執行, 且具有更廣泛的涵蓋性. 例如: 建立一個資產包(assetbundle), 設定webserver與佈署assetbundle, 啟動Unity, 建立一個玩家, 下載資產包...等等. Integration Test Framework並不是一開始就有多個目標執行, 所以就必須要多做一些工作才能使用一個測試案例在不同的平台上.

而且, 架構並不如Runtime Test Framework那樣的具有sandbox的特質, 所以它更容易做一些像是讓處理狀態卡住(processes hang) ,忘記釋放分享的資源, 這也就是大自由度與彈性所會遇到的代價. 在最高的層級, 我們有回歸的rig (regression rig) ,很簡單地說, 這個東西可以執行一組預先錄製的webplayer遊戲, 在任何給予的變化組(changeset) ,有效地給我們接近即時的整體概念了解, 以最新的程式碼來說, 我們破壞現有的遊戲到怎樣的程度. 除此之外, 這個rig可以剖析某功能, 可以準確地指出哪個改變組(changeset)造成了回歸問題, 因為它會自動追蹤變化. 很顯然地, 還有很多細節可以談這個rig是怎樣運作的, 我想之後再寫一篇!

現今大部分的測試案件都是由開發者撰寫的每個功能, 這是很不錯的現象. 當我開始找尋適當員工來做QA時, 還有更多的測試碼直接由開發者撰寫, 他們也要確認整個套件運作在一起能夠正常運作, 而這個測試寫在最適合的架構上面.

工具
工具對於有效的開發部門的效率非常重要. 我們有個3個在QA的程式開發員的小團隊, 主要專注在工具與架構開發上, 我們稱這些人為Callstack Analyzer. 這個工具可以從每個當機回報(crash reports)中擷取出callstacks, 每次Unity當機時, 就會出現一個對話框, 希望你輸入資訊關於你目前在做什麼, 然後傳送你的工作專案與callstack. 接著我們就會分析這個callstack. 將其分成片段, 可能是Unity, Mono, windows OS, Mac OS等等, 接著我們批配每個片段與其他我們有的callstacks.然後, 我們會找到這些裡面特定部位堆疊裡具有重複性的, 然後開始研究這些東西. 這也就是剛剛說輸入的資訊可以幫助我們的! 因為這些callstack本身很難給我們個方向去探究問題, 一個具有20個重複的callstack與一個可重現的bug回報是個很大的陷阱. 所以請記得在當機的時候按下那個按鈕, 即使你不想填入任何當機資訊, 即使是callbacl本身對我們來說也具有很大的價值!

我們還有很多工具, 例如處理bug的工具, 這些工具在我們的伺服器裡面. 還有能夠追蹤我們測試專案的工具, 進行code涵蓋率分析, 產生cyclomatic complexity的報告...等等的. 都是我們經常會用到的工具組, 讓我們得到當前開發階段Unity的整體概況.

我答應各位我會在第二篇談bug reporter, 但我想我必須留到第三篇再講了...

[相關文章]

2012年5月18日 星期五

Unity 3D品管測試流程揭密


作者:Thomas Petersen

距離上次我們貼Unity測試的文章已經有一陣子了, 我想要更新QA常見問答集裡面的資料, 這是QA裡面的第一篇, 我很快會在貼出第二篇關於內部工具, 周期與分析技術.

產品
我相信你知道Unity這套產品, 身為Unity的開發者, 你應該對產品的主要功能十分熟悉, 但從軟體測試員的角度, 有些功能你可以從來沒想過.

眼睛睜大一點 (觀察軟體運作狀況)
Unity是我用過的軟體裡面最可以測試的產品, 幾乎Unity 裡面所有的東西都可以拿來測試. Unity包含了大量的APIs profilers (側寫參數), logs...等等, 讓我們可以從code做很多事情, 包含了確認任何動作, 給予預期的結果. 除此之外 Unity在 核新部分只需要單次安裝, 在單一台電腦上, 所以執行自動化的硬體需求會很小.

所有的遊戲平台
有一點要先提醒你, Unity的核心功能就是讓遊戲撰寫支援多平台, 自然我們必須要測試這個功能, 這會讓測試設定變得相當複雜, 讓我們整個架構需求增加, 這樣我們才可以在測試的時候得到需要的資訊. 從最廣的觀點來看, 我們必須要同時涵蓋所有平台, 滿足廣泛的測試. 但還要告訴我們, 某些手機會產生某些問題, 或是不同瀏覽器, 不同作業系統或是特定的險哪會有問題...你應該懂我意思.

我們不會忘了Unity廣大用戶對我們的愛, 從很多方面來看, 你們就是Unity的骨幹, 讓論壇有了真正的價值. 回答問題, 測試東西. 我們很重視這些, 讓我們奉獻在這軟體上, 負責任, 幫助各位.

我們的策略:AAA
不! 這邊指的不是大製作, 而是自動化, 自動化, 自動化. 我們有可測試的產品, 有設備, 也需求, 當我們軟體只有單一周期, 就進到下一個軟體, 就不需要做到自動化了. 但是Unity是一套維持很多年的的軟體, 如果這樣的軟體還要反覆地手動測試, 一點道理也沒有.

善用社群
我們有大家, 你們對我們有很大幫助, 但我們還能做更多事. 我們可以用更多工具, 幫助你們測試自己的遊戲, 面對事實吧! 以為能做出一個很棒的特效, 適用於各種情況, 實際上這根本就不可能. 這些工具可能包含了對錯誤報告的整體檢視, 自動地找到重複的部份, 當你呈交錯誤, 就會整合到問答集裡面, 甚至還有發表的測試套件. 幫助各位也會幫助我們, 如果各位有回饋的話, 我們就能針對錯誤來修正.

好的內部報告
這是針對Unity研發團隊的報告. 我們必須要知道Unity各個部分的品質, 哪個部分比較好, 哪個部份有很多錯誤, 哪些用戶遇到很多問題. 關於這點用講得很容易, 在概念上也很容易做出怎樣類型的報告是您要的, 但是實際在操作的時候卻非常難! 讓我們必須要在不同工具之間都要用同樣的名詞, 持續地收集資料, 建立根據這些資料的報告. 我們目前在做的事是統一各個工具的專有名詞.

萬事皆人開始, 請來的人一定比我們厲害. 這些人才是做事的人, 當我在寫這篇文章的時候, Unity的QA團隊共有17為工程師與工讀生, 我們還在徵人!

我們在哪
目前測試團隊位於哥本哈根, 立陶宛的維爾紐斯與英國的布賴頓, 我們也在奧德賽徵募新血. 在哥本哈根, 我們主要關注在編輯器與核心, 因為這是開發者會接觸到的部份. 維爾紐斯大部分是負責手持與遊戲機, 布賴頓則負責網頁播放器. 我說大部分, 是因為常常每個人負責各分散的功能, 例如PS3的部份現在是在布賴頓測試.

如你看到的 Unity團對遍布全球, QA 團隊最棒的部份是, 我們會持續地與其他團隊溝通, 透過Skype 27個人會加入討論. 開會的時候研發團隊與支援團隊也會旁聽.

測試的規則
我們測試的時候有很明確的規則, 這讓我們知道招聘人員的目標, 但在實際測試的時候, 你必須要有比開發者更廣泛的視野. 做測試的軟體開發工程師, 是測試的工程師, 這些人一次地用工具工作, 架構與功能自動化. 他們的工作就是要找出改善整體工作流程的方法, 對每位在Unity研發的人員, 藉由建立build farm的自動化, 製作回歸套件避免錯誤(bug)發生. 同時也讓測試者與開發者都知道整個架構的使用, 這些都是AAA測試的骨架.

軟體測試工程師, 就是手冊測試員, 但這不是一個很好的稱呼, 除了找到如何適當地涵蓋一個功能外 這項工作還需要大量的技術知識, 這測試員還必須要對整體有了解, 他們也是新功能的首次使用者, 能在最早期的軟體開發階段提供意見, 讓我們再將軟體交給aplha用戶的時候能表現到最好, 這些人是內部回報策略的中堅份子.

QA工讀生花時間在看你上傳的錯誤, 然後試著重現每個錯誤, 接著會把這個錯誤回報給程式開發者 . 這些人對於您的錯誤回報扮演了重要地位! 如果他們無法找到錯誤如何發生, 他們會將問題丟給QA,然後問原提問者更多細節資訊. 這是Unity裡面新的做法, 我們是在2012年春天開始實施的, 對我們面對廣大 Unity進行回應是個很重要的部門.

社群
我們有全世界最棒的社群, 雖然這麼說有點大膽, 但我相信是這樣沒錯. 在我待過的公司裡面, 沒有一個公司的社群聚有如此大的影響力與衝擊力! 我之前在這部落格有說過同樣的話, 而這是我們非常重視的部份. 我們會使用社群做很多事情, 我舉幾個例子, 有時我會組成alpha測試群, 這名單會涵蓋了少數人, 也就是過去有給我們很多好意見的人士, 他們會比其他人早拿到軟體, 我們會諮詢這些人, 以確保我們能開發正確的新功能. 這些意見我們會拿來做為問題的參考以及用戶會如何使用.

社群也會提供錯誤回報給我們, 不管是在beta測試或是在正式版釋出以後. Beta test要花相當長的時間, 透過幾次的版本釋出. 我們會收集到大量的錯誤(bug) Beta測試員很會找錯誤, 給我們他們找到的錯誤檔案. 能找到錯誤當然很棒, 但要做為一個稱職的beta測試員, 你必須要持續地提供容易重現的錯物回報, 我們會在下集介紹更多關於這點.

最後, 我必須要強調, 當我們有問題時, beta測試組他們很樂意地協助. 最近有個超級大的案子, 他們很快在一個工作天內就回應了, 我們真的很感謝這樣的回應與參與感!

2012年5月4日 星期五

Unity 3D將以全新方向發展極致功能


>以下原文於四月一日發表 ; )

過去幾年 Unity已在競爭激烈環境中獲得了名聲, 能製作華麗的, 頂尖技術的2D與3D遊戲, 讓最厲害的顯卡也跪倒下來. 在這段時間我們還是持續追蹤獨立製作遊戲的脈動, 我們發現有種復古風正在成形~

相較於那些擬真的, 3D環境的遊戲, 有些遊戲開發者比較偏好典雅的, 簡單的2D sprites效果. 不做驚人的相片寫實效果, 美術人員製作更加大膽的, 像素化的風格. 在那被四通道震耳欲聾的音效所轟炸著, 這些Grieg, Korpiklaani, E. S. Posthumus, 或 Diablo Swing Orchestra的音樂, 取而代之的是單音的電子配音, 讓我們聯想起童年玩遊戲的年代...

而我們在Unity公司希望大家知道我們知道您的感受, 我們也會被簡單又優雅的遊戲設計所感動, 所有的遊戲都必須要以遊戲性為最重要的, 要有獨特的概念與想像力. 有很多遊戲太花了 (像萬花筒般) 提供過多感官訊息, 只會讓玩家不知所措, 無法專心的遊戲的重點上面, 也就是這個原因讓我們想要以全新的方向來挑戰極限!

Qrazy Queue! 1D Demo
這是個強大的工具組, 完全整合到Unity環境中, 會讓你精簡遊戲到最純粹的概念核心, 但又維持了完整的整合性到現有的工具上. 這裡有整合的物理運算, lightmapping 與 dynamic light probes 彈性的與高效能的算圖系統, 支援多核心運算, gamma正確的 HDR算圖且無縫地整合. 強大的美術流程 ,超級快速的編修時間, 這些都是Unity的品質證明特色!

那聲音怎麼辦呢? 別擔心, Unity的聲音工程師與硬體專家們組成的團隊與硬體商們一起合作, 開發了完整的, 跨平台的API. 可以用在電腦的音響與遊戲機的即時混音系統以及手機上的高品質聲音模擬器, 甚至振動與LED回饋效果. 這些是針對聽障與視障者所設計的. Unity讓你可以對於這原始的一維遊戲, 沉浸在五感中的三感, 另外兩個感知我們還在研發!

雖然沒有人想的起來何時這個1D概念是怎樣發起的, 但Unity的創辦人一開始的時候就很支持這個想法.

STACK SMASH 1D 展示
首席文化官(CCO) Nicholas Francis解釋到, 我們從Unity 3.5發布的時候就專注在使Unity的每個部分都維持簡單化與優雅化, 而我們新的1D架構就是這個概念的結晶!

首席轉型官 (CTO) Joachim Ante偏好把這個概念擺在效能上. 事實上, 專注在一維讓我們可以拿掉很多不必要的編碼, 把最佳化帶往更高的層次. 通常, 我在談到效能改善指的是約5倍到10倍, 但是如果變成1D的話, 可以達到10倍的效能!

Unity最重要的就是創意, 執行長David Helgason說. 我們很努力工作讓大家能夠有製作視覺上驚人遊戲所需要的工具, 那些驚人的, 高階的3D特效很重要, 但同樣的我們也該對完全相反風格的遊戲支援, 那些想要用簡單概念就讓人驚嘆的遊戲開發者努力~

Unity 3D 台灣代理請洽 奇銳科技 (02)2557-3321

2012年3月15日 星期四

GDC 2012: Unity 3.5與進階角色動畫預覽


GDC 2012 遊戲開發者會議, 今年在舊金山是Unity至今最大的一次盛會, 為您展示Unity 3.5最令人驚奇的新功能---展示了先進的角色動畫科技. 參訪者參觀了Unity攤位的話, 還招待你玩Unity遊戲, 看科技展示或是談合作案!

我們的角色動畫系統就放在GDC節目表的最上面. 在GDC之前就已經首次展示於Unity Developer day會議了, 這項科技也在Unity的攤位展示. 新的系統讓你可以有角色動畫完整的流程, 產生前所未有的寫實動作, 你只需要提供在T型姿勢rigged好的角色模型, 而Unity即將推出的功能將會處理接下來的工作: 從動作捕捉資料, 到blend trees與state machines. 整個系統讓你用很簡單的方式就產生驚人的角色行為. 這樣製作出來的遊戲角色動畫不會像過去那樣大同小異了!

請看以下影片 展示了角色動畫功能


範例遊戲
Unity攤位也提供了幾款絢麗的Unity製作的遊戲, 以下預告片展示最新最棒的遊戲


在攤位也提供可現場玩的遊戲. 首先是由Rock Pocket Games公司推出的Oliver and Spike: Dimensions Jumpers, 畫面很棒的第三人稱遊戲, 把3D遊戲帶到了新的境界. 你可以在遊戲的世界裡面切換到不同的維度.



另一款遊戲是Playstation網路平台上面的Derrick the Deathfin, 整個是個紙做的世界, 聽起來很詭異吧? 但是好玩耶!



最後壓軸的是Sky Legends, 這是很棒的空戰遊戲, 由Smart Bomb Interactive製作, 在網路上已經很流行了. 這款遊戲也即將在iOS與Android系統上推出, 請看以下專訪:



除了這些驚人遊戲與眩目的新動畫科技Unity的員工也展示了Unity 3.5驚人的新功能, 你可以點這裡下載Unity 3.5 親自看看以下影片的新功能



Unity要感謝各位用戶讓GDC 2012如此歡樂, 見到各位真的很棒, 希望八月的時候能在Unite會場見到各位囉!

Unity 3D 台灣代理請洽 奇銳科技 (02)2557-3321

[相關資訊]

2012年2月18日 星期六

Unity 3.5 新增功能介紹


Unity 3.5是本公司(Unity)有史以來最大的更新! 裡面有許多新的功能與改善, 我想各位會愛上它!
  • 全新忍者飛鏢(Shuriken)粒子特效系統
  • 內建的尋路功能
  • 升級的Occlusion Culling與新的LOD功能
  • Google Chrome原生的客戶佈署功能(Native Client deployment)
  • 線性色彩空間照明與HDR的支援

主要新增功能:

1. Adobe Flash: 最終版的Unity 3.5支援輸出到Adobe SWF格式的預覽, 這個功能就是所謂的Flash格式輸出. 你可以到這邊觀看常見問題.

2. 全新的粒子系統Shuriken (忍者飛鏢):
  • 在編輯器裡面編輯 檢視與播放粒子特效, 你可以手動拉動時間軸, 檢視, 微調粒子系統, 透過Scene View當中的播放控制.
  • 這是模組化的, 每個粒子都有幾種模組, 能夠控制其顏色, 大小或是粒子的移動.
  • 可以群組化, 你可以把粒子設定群組, 設定具有階層的屬性, 但在播放的時候還視為單一粒子系統.
  • 內建的曲線編輯器, 讓您輕易地進行曲線編輯.
  • 添加了路徑追蹤與迴避功能(Pathfinding and avoidance)
3. NavMesh: 尋路的API, 烘焙導航的mesh, 並帶標記區域(markup areas)
  • NavMeshAgent: 角色導航 避免碰撞的系統(Avoidance system)
  • OffmeshLink: 這個東西可以用來建立不同NavMesh polygons之間任意的連結
4. 內建的LOD管理系統, 透過LOD Groups群組來管理. Lightmap baking 也能正確地支援LOD的模型, 帶有lightmap的物件會使用表面轉移的演算法, 類似於normal map baking的功能.

5. 資產快取伺服器(Asset Cache server:
遊戲資產可以在不同專案間, 讓用戶import近來, 切換平台指需要幾分鐘, 不再以前大型專案需要好幾小時, 從其他團隊取檔案也變得很迅速.

6. 內建的HDR支援與自適應的tonemapping. Unity 3.5的image effects效果包, 裡面提供adaptive tonemapping bloom 與景深效果. 這些都有對HDR進行最佳化.

7. 多線程的支援:
  • 大多數的算圖與driver overhead 通常會放到另外一個CPU核心, 在多核心的系統上. 現在您不需要這樣做了 .
  • 這個功能目前只能在PC / Mac / Xbox 360平台上運作, 目前還不支援網路播放器.
8. Light Probes 這個功能可以用來烘焙角色上的光照. 與其他動態物件

9. 方向性的Lightmaps

10. 一般的外部版本控制 (Generic external version control (.meta files)) 現在可以用在免費版上了.

11. 現在支援Google Native Client

12. 現在在Inspector您可以選取並編輯多個物件
  • Inspector preview預覽功能支援顯示多個選取物件
  • 多個物件的編輯可以透過客製化的編輯器, 您只需要用一行的程式碼就可以, 透過SerializedProperty來控制

13. Occlusion Culling已經整個改寫, 現在計算速度變得更快了, 並且修正OcclusionPortal的元件. 允許門即時地開啟與關閉.
  • Terrains地形現在可以正確地與occlusion culling一起運作了!
  • occlusion culling的預設模式是“automatic portal generation” 自動入口產生模式, 這個功能非常精確地運作, 且支援動態物件.
  • 新增了“Occludee Static”的選項 這個功能用來標記物件為靜態的可遮蔽物件(statically occludable) 而不需要標記為occluders, 例如透明物件沒有移動, 就必須要標記為Occludee Static
  • 以文字為基礎的場景與prefab格式能夠用來改善團隊的工作流程. 這可以在編輯器設定的地方, 針對不同專案, 開啟或是關閉這個功能.
14. GPU Profiler 這個功能讓你可以看到GPU的使用狀況 寫到記錄檔

15. 大幅度的記憶體與效能最佳化, 多線程功能有許多改善

這裡進入下載頁面


Unity 3D台灣代理請洽 奇銳科技 (02)2557-3321

2012年2月10日 星期五

金獎動畫《小貓巴克里》推出射擊遊戲

《Barkley - Garden Defender》金獎動畫《小貓巴克里》推出射擊遊戲
由studio2所製作,深受大小朋友喜愛的國人自製3D動畫《小貓巴克里》,與Redbit Studio合作推出射擊遊戲APP《Barkley - Garden Defender》(簡稱《BarkleyGD》),玩家可扮演主角巴克里,以彈弓對抗邪惡勢力。目前推出iOS 版,共有多種模式讓玩家享受成為英雄的快感,未來可望推出Android版本。




◆ 《Barkley - Garden Defender》可愛畫面加上彈弓射擊 操作簡單 玩法多變 一上手馬上著迷
動畫《小貓巴克里》描述一隻城市流浪貓在流浪到鄉下後,帶領小朋友一同對抗破壞環境的惡勢力。手機遊戲《Barkley - Garden Defender》iOS 版延伸了主要概念,玩家化身成機靈可愛的小貓巴克里,用手上的彈弓保護花園,對抗不斷逼近想要偷取花朵的壞人們。玩家只要用手指拉住彈弓、再放開即可完成射擊。雖然玩法簡單,但為了對抗眾多的壞蛋,玩法上也產生了不同的變化,如:小石頭、大石頭、石頭投擲、地雷...等等工具與技巧、環境也會有日、夜差別增加困難性,讓遊戲更耐玩。小心,只要壞人們奪取了花朵,遊戲就會結束喔!

studio2動畫《小貓巴克里》深受歡迎,推出射擊遊戲《Barkley - Garden Defender》
◆ 過關模式挑戰你的感官靈敏度 生存模式讓手指停不了
《Barkley - Garden Defender》遊戲中分成"過關模式"、"生存模式"、"黑夜模式"三種模式,還包括了一個教學模式,帶領玩家全程了解玩法和技巧。"過關模式"目前共有二十關可供挑戰,更有”生存模式”競爭全球排名,考驗玩家在一波波進攻下的守備能力。官方表示,這是一個大人小孩都會喜歡的遊戲,只要玩家使用iPhone3GS、iPad以上機種等行動裝置,便能下載暢玩。

使用彈弓裝配各種武器對抗壞蛋

緊張刺激的夜間模式,不要忘了替燈泡充電喔~

成功保護花園即可過關,守住小花,還有星星可以拿!

《Barkley - Garden Defender》即日起可在全球App Store上購買,定價0.99美金,玩家可至《Barkley - Garden Defender》遊戲介紹網站體驗試玩並查看進一步訊息。

掃描QR Code立即連結至App Store – BarkleyGD
更多《小貓巴克里》請上官方網站:http://www.barkleythecat.com/
Barkley GD遊戲粉絲頁:http://www.facebook.com/BarkleyGD
Barkley GD遊戲介紹網站:http://tinyurl.com/barkleyGD

2012年1月11日 星期三

Unity 3.5 beta版新增功能與下載



最近Unity又達到新的里程碑了! 發表了Unity 3.5的public beta版 (很興奮嗎? 如果你錯過了, 可以到這邊下載)

提供大量的功能, 以及新的輸出平台, 例如Flash 也支援Google原生的用戶(Google Native Client). 這次的開發預覽版, 可以算是佳節禮物, 我們希望您能玩的愉快! 如果這個3.5預覽版還不夠吸引您 我們(Unity)還舉辦了把Unity發佈成Flash的比賽, 獎品可達$20,000 美元喔 (比賽已截止)

請記住, 目前輸出到Flash的功能只是預覽----真的就只是預覽, 但是我們還是覺得在開發上面有達到里程碑, 表示這個功能也夠夠穩定了, 可以讓大家使用, 幫助我們來測試這套, 我相信大家也會一起來測試. 有些功能上的限制, 你可以直接閱讀beta版的常見問題說明. 隨著製作的演進, 我們會更新最新功能, 我們也在論壇上面開啟了新的討論版, 開放各位討論想法與問題, 為何不現在就加入測試, 用用看Unity3.5呢?

Unity 3.5是目前最新的版本, 提供很多新功能與改進, 我想你會愛上它, 我們等不及讓大家用這套來製作, 所以我們決定先開放3.5 beta版讓大家使用. 從現在開始, 你可以下載有時間限制的Unity 3.5軟體!

這次的版本也提供Unity發佈Flash的功能預覽, 體驗在Unity裡面發佈成Flash 這新的發佈選項, 讓你可以將您的互動3D內容推展到Adobe Flash Player.

現在就下載吧!

"Flash in a Flash比賽結束了
The Flash in a Flash比賽結束囉~ 我們等不及來看參賽者的Unity Flash作品了. 在接下來的兩週我們將檢視這些作品, 然後再網路並透過網路通知優勝者, 祝各位很運, 好好玩Unity 3.5 beta吧!

Shuriken(手裏剣)粒子系統
透過新的Shuriken粒子系統美術人員與程式設計師現在可以完全控制粒子的外觀與行為, 提供新的曲線與漸層控制的模組化粒子系統.

內建的尋路功能(Pathfinding)
Unity 3.5 讓你可以讓整個場景變得更加生動, 可以自動地產生循路mesh 直接在編輯器裡面將您的循路資料進行烘焙, 讓Unity即時地進行高效能的尋路與群體模擬功能.

Occlusion Culling & LOD
重新改寫的occlusion culling系統, 讓你可以更快速更穩定地產生效果, 這項功能與內建的LOD系統一起使用時, 讓大尺度的遊戲效能明顯提昇.

Google Chrome原生用戶的部屬(Native Client deployment)
Unity 3.5 現在支援NaCl的發佈系統 這樣Unity Web Player會自動地在Chrome瀏覽器裡面播放, 無需另外安裝. NaCl的速度與相容性可以跨越多個作業系統, 這對網路發佈是一個很理想的格式.

線性光照空間與HDR
用線性空間 (gamma校正)來建立驚人的畫面與視覺效果. Unity 3.5全新的多線程算圖器讓你可以更快速地建立光照與HDR算圖.

還有更多功能喔
其他的功能如透過Cache Server減少import消耗的時間, 這是一個可以完全外掛的Social API, 用在社群遊戲, 提供低階的聲音buffer存取, 產生遊戲音樂. 詳情請看Unity 3.5的完整功能清單.

專業代理請洽奇銳科技 (02)2557-3321