使用三个月的业余时间把官方教程的入门部分译为中文并上传到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开源了一个综合使用基础教程中各项技术的实例工程,这是一个基于玩家自定义的联网桌游框架,欢迎交流讨论。