GameLook報道/前不久,國外傳言的Unity Technologies將出售的消息目前已經沒有瞭眉目,而自上個月的Unite大會之後,該公司CEO David Helgason也沒有就出售公司表過態,所以這件事暫且不提。今天要說的是Unity引擎代碼開源的事情。
在上個月的Unite大會上,該公司透露瞭開放部分引擎源代碼的消息,而就在今天,Unity通過微博表示,該公司正在加緊Unity 4.6版本中全新UI系統的開源工作,同時也在制定更多組建進行開源的計劃。並且通過該公司的官方博客公佈瞭開源項目參與指南(Getting Started as a Contributor to our Open-Source Projects),很多開發者表示非常歡迎。以下是Unity官方的中文指南:
在上個月的Unite大會上,我們宣佈瞭開放源代碼的計劃,也就是說未來Unity有一些組件將開源。自從我們公佈瞭在BitBucket(源碼托管網站)上的Unity Test Tools項目,我們已經看見眾多開發者進行瞭各種克隆、創建分支、拉取代碼的操作(你可以從TestTools工程的倉庫中看到工程的發展動態,當然你也可以在工程的事件追蹤器issue tracker中來觀察)。此後,我們還發佈瞭Xcode Manipulation API(允許開發者修改和調整所生成的Xcode項目)和iOS Native Code示例項目(給出一些類似於如何整合Unity和Native UI以及進行NativeVideo Rendering的例子)。現在,我們正在加緊Unity4.6版本中的全新的UI系統的開源工作(目前為公測beta版),同時我們也正在制定對於更多組件進行開源的計劃。
我們還公佈瞭參與指南,它是Unity用戶手冊中的一部分。今天,就讓我同大傢一起來瞭解一下其中的具體步驟。
參與步驟
我們的代碼倉庫托管在Mercurial或者Git的BitBucket上。如果你曾經參與過在GitHub上項目的開發,那麼它們的步驟基本相似。但是如果你以前使用的是Perforce或者SVN(或者一些其他的集中式版本管理系統),那麼類似於“forks(分支)”,“clones(克隆)”,“pushing(推送)”和”pulling(拉取)”這些概念對於你可能比較陌生,我們建議你詳細遵循參與者指南的步驟(因為在每一個步驟都附帶瞭截圖指導)並且充分利用“擴展閱讀”這部分的內容。
你需要做的第一件事情就是創建一個BitBucket的賬戶,這是我們我們管理資源庫的地方。這有一個非常簡單的步驟(如果你從未用過BitBucket,但是你有一個GitHub的賬號,你可以在BitBucket上使用相同的一個賬號)(你首先需要創建一個BitBucket的賬號,然後再連接你的GitHub(或者是谷歌)賬號,然後你就可以用你的GitHub(或谷歌)賬號登陸到BitBucket瞭),同時如果你還在思考為什麼我們不用GitHub,而用BitBucket,請查看我們的常見問題解答。
下一步,你要在BitBucket的Unity 主頁上,找到你想要參與的資源庫。一旦完成以上操作,你就可以在你自己的空間上建立一個資源庫的分支(fork)。一個資源庫的分支就是一個簡單的資源庫的克隆體,它將存貯在你自己的私有空間下,並且你可以在這裡隨意的推送提交你的更改。
克隆分支以及確認你的更改。除非你喜歡低效混亂的命令行工具,我們推薦Atlassian的SourceTree,它同時整合瞭Mercurial和Git。無論你使用的是Mercurial或者是Git,或者無論你在Mac或者Windows平臺下工作,它都非常適用於你。
最後從你的分支開啟一個pull請求,然後等待。Unity工程師將會查看你的pull請求,並且處理它,如果通過瞭審核,它將被合並到我們的倉庫中。
處理過程類似於:
Pull請求後的出現的情況
當你提交一個pull的請求,通常可能會發生以下4種情況之一:
1. pull請求通過,並最終被整合。
2. pull請求因為拒絕而關閉。
3. pull請求不是因為被拒絕而關閉,而是Unity工程師要求你在分支被順利合並之前做一些其他的工作。
4. pull請求被拒絕,但是Unity工程師仍然會采用pull請求中一部分的更改。
情況1和2是很簡單明瞭的。情況3通常意味著你需要清空或者是處理一些額外情況。如果Unity工程師並不想采用你所有的更改,而隻是選取其中一部分,或者以往的更改需要在應用之前清空的時候,通常會發生第4種情況。在UnityTest Tools項目中,我們已經碰到瞭第1,第2和第4種情況。
在任何情況下,你將通過郵件收到關於你的pull請求活動的通知,所以請確保你設置瞭能從BitBucker收到郵件通知。
就這麼簡單
所以,僅僅幾個簡單的步驟,你就可以參與改善Unity和它的整個系統,這不隻是為瞭你自己,而且也是為Unity社區中的每一個人。正如之前說到的,我們非常期待看到你的貢獻!