使用三個月的業餘時間把官方教程的入門部分譯爲中文並上傳到github,在下一步編程前作一個總結。html
歷程:
最先接觸遊戲編程是在大三下學期,用匯編語言和實驗室裏的單片機、觸摸屏、電機(提供聲效)編的打地鼠程序。後來由於大四的畢業設計與三維空間模擬有關,又自學了MFC編程和NEHE的OpenGL教程(國人翻譯版)(C++3D編程的複雜會給任何參與者留下深入的印象,向先驅者們致敬)。工做後自學了JavaScript語言和前端知識,感受js與C++相比極其簡單易用,若是能以js代替C++進行3D開發能夠極大下降編程門檻。在有目的性的搜索下我開始學習html5引入的新技術WebGL(事實上WebGL來自Khronos Group組織,而html5規範來自WHATWG和W3C組織,兩者並無從屬關係,只是實際應用時WebGL一般經過html5的canvas被調用)。前端
派系:
如今網上比較容易找到的WebGL資料分紅三個派系:WebGL原生開發派(基礎教程參見:http://learningwebgl.com/blog/),Three.js派(《WebGL入門指南》這本書比較簡單易懂),Babylon.js派(官方網站:http://www.babylonjs.com/)。按順序學習了三個派系的基礎教程(前兩個派系在網上只能找到基礎教程)以後我決定以Babylon.js爲主要方向。若是要對這三種開發方式作個比較的話:WebGL原生開發比如遠古時期的投石索,既原始又難以控制,但經過不斷使用投石索鍛煉出來的強壯體魄能夠在任何狀況下給予你支持;Three.js比如AK47,簡單粗暴又威力強大,在特定狀況下可以快速解決問題,但當你想深刻研究時又發覺難以控制;Babylon.js比如絕地武士的光劍,外形簡約但變化多端,一劍在手頓感原力與你同在(豐富的教程和社區)。html5
教程:
Babylon.js官網上有極其豐富的免費教程和示例,其官網教程區(http://doc.babylonjs.com/tutorials)共有網頁博客形式的教程81篇,視頻形式的教程10部,其中博客教程分爲19篇初級教程、22篇中級教程、40篇高級教程。我翻譯的是初級教程前15篇針對入門者的教程,之後有時間會挑選後面重要的部分繼續翻譯。git
語言:
在網絡詞典的幫助下,單詞的認讀並無多大障礙,翻譯的難點在於漢語和英語的習慣句式不一樣,好比中國人習慣說「向那裏慢慢走」,而美國人則習慣說「走向那裏慢慢地」,當這些被倒裝的元素變成詞組甚至子句時英漢互譯會變得很是複雜。面對這種狀況,不浪費分數過英語六級的我只能選擇意譯或者將一個長句拆成多個短句,實在不行也只能按原文的順序一一羅列釋義,不免有失原文風采,請讀者多多原諒。再者,入門部分教程的原文編寫者在文中使用了許多表示情感的語氣詞和表示尷尬的省略號,限於水平,也沒法一一完整譯出。github
工具:
Babylonjs的教程網站使用不一樣樣式來突出強調重要內容,因此我一樣以網站方式進行翻譯(網站下載地址:https://github.com/ljzc002/ljzc002.github.io/tree/master/BABYLON,能夠將文件放在本機的Tomcat中使用,經過githubio直接訪問的方法見最後)。爲了提升翻譯效率我在網站的代碼中添加了一個本身編寫的全手動翻譯插件(限於時間只在IE11下詳細調試過,Chrome下確定有bug)。該插件的基本思路是監聽網頁中每一個可編輯標籤的鼠標移入、鼠標移出、鼠標單擊事件,在鼠標移入時對標籤高亮顯示,點擊標籤時彈出對話框修改本處文字,同時維護一個日誌列表支持對錯誤修改的回滾,最後提供一個按鈕將修改完畢的網頁導出。我在發佈版本中禁用了翻譯插件,若是但願使用能夠在window.onload中註釋掉「if(true) return;」。順便說一下Babylonjs網站的「分佈式程度」極高,其樣式表、字體、乃至JavaScript腳本都是經過CDN進行動態分配、組裝的,咱們甚至能夠看到有些標籤的類名是本地的地名!我作的翻譯網頁只是對其外形的粗略模仿。web
版權:
上面全部文字的版權、翻譯插件的版權、譯文的版權歸我全部,使用MIT協議發佈;原版官方教程和引用的各項資源的版權歸原做者全部,使用各自原有的許可協議。編程
githubio訪問方法:canvas
使用url「"http://ljzc002.github.io/BABYLON/HTML/"+html文件名訪問」,好比「http://ljzc002.github.io/BABYLON/HTML/001Basic_scene.html」即爲訪問/BABYLON/HTML/目錄下的「基礎場景」網頁。網絡
20190619更新:在https://github.com/ljzc002/ljzc002.github.io/tree/master/BABYLON101上傳了4.0版本的官方教程翻譯,推薦下載mhtml文件後用word查看,也能夠經過githubio訪問對應的htm頁面。框架
20190829更新:在https://github.com/ljzc002/community開源了一個綜合使用基礎教程中各項技術的實例工程,這是一個基於玩家自定義的聯網桌遊框架,歡迎交流討論。