记得第一次听到Godot的名字时还在深圳工做,刚刚接触Unity快一年,只是匆匆在Github上star了,就没有继续了。后面时不时翻开它的Git主页,然而一直没有下载过,往往想看看开源引擎都去看Orge了,但没坚持到开始-_-||。去年年末,老孙雨show了一下Gamejam的成果,全球参与Gamejam的项目中,好像是3000,仍是500都是Unity的,老孙雨得意洋洋,看看咱们大Unity多V5,UE4虽然紧随其后,但相差起码一个数量级。然而我在other一栏中看到了排在第一位的是Godot,好像是90+,忘了。又再次翻开其Git主页看了看,哦,这个引擎还在,好像还有所发展了哦。html
终于,如今进了引擎部,老大在Unity的GC折磨下苦不堪言,甚至祭出了下个项目要用有源码的UE4云云。但考虑到UE4的收费模式和公司一向做风,我不认为即便公司有次时代需求就会用UE4,Unity也能够作次时代啊,效果很差优化不行别老怪引擎。这时我想起Godot,记得页面上的截图,编辑器还能够,要不试试,本身玩玩,或许有一天能派上用场。好,开始了,先学习Godot的使用,后研读Godot的代码。python
主页:https://godotengine.org/git
Github:https://github.com/alonecat06/godotgithub
文档:http://docs.godotengine.org/en/latest/index.htmlwindows
样例项目:https://github.com/godotengine/godot-demo-projects编辑器
资源库:https://godotengine.org/asset-library/asset学习
一开始从主页上下载了引擎的可执行文件,就一个exe,很是简洁。接着上Github,checkout了项目引擎源码,看着没有sln文件,就找文档看如何编译项目,找到Compling >> Compiling for Windows一节看下去。安装文中所述,安装了Python3.7,也要设置好系统环境变量的Path优化
接着安装Pywin32和SCon,当时遇到多个报错,屡次Google后查到,须要spa
python -m pip install --upgrade pip插件
pip install -U setuptools
pip install -U wheel
升级Python的部件到最新,才能安装SCon。文档上说Godot经过SCon构建的,而非传统的CMake,开发者们极爱SCon,怎么说也不会换的,哈哈,好有个性。如今SCon好了,开始构建sln。记得必须是要从VS的Developer Command Prompt打开,转到Godot的源码目录,启动Scon才能构建出项目sln并编译出引擎。具体操做能够参考油桶上的这个教程。我只作了前面6分钟,引擎源码项目的sln就构建出来了,或许是开发者后续修复了视频中的问题。想来有时间我仍是得在看看这个教程后面说什么了。
引擎源码编译成功,看者编译里面既然有bullet,嗯,源码确实值得一学。
源码先放放,先了解一下引擎的基本使用,一开始我仍是沿着文档,一点一点往下看,先看看引擎的流程,从Project workflow开始。不过看下来有点乏味,后面再油桶找到了一些教程
http://www.gamefromscratch.com/page/Godot-3-Tutorial-Series-Index.aspx
http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-series.aspx
教程有个问题是都主要专一在2d方面,我又在Godot的主页上翻了一下,发现还有个资源库和样例项目。打算先看完教程,对Godot的操做有大体了解,而后看文档和摆弄样例项目,去作3d方面的研究。以前与德立交流过,他说Godot没有prefab,但我看教程后,以为Godot里面的scene就是prefab,固然功能有待增强。如今弄下来,比较大的一个问题是Godot不支持FBX,只支持DAE(Collada),这样的话我能够用的资源就比较少。尝试过使用Blender做为中间转化,试了两个模型,不成功,用自动桌子的FBX Converter,一个模型成功导入引擎,但在Blender仍是不对。文档上说fbx格式有挺多如今,不打算原生支持,计划通插件支持。想着若是这样,能够本身尝试写一下fbx的插件,说不定还能为社区做贡献,开启开源开发的路子呢。
2018.10.14=======================================
发现一个问题,Godot的编译依赖于Python,以前是在外部独立安装了Python的3.7。结果有多是与QuantOS使用的Anaconda出现了冲突,致使QuantOS启动不了,因而只有卸载了独立安装的Python3.7,尝试使用Anaconda里面的Python。
打开Anaconda相应的env,一样的方式安装pywin32和scons。启动scons,遇到报错:
Fatal Python error: Py_Initialize: unable to load the file system codec LookupError: no codec search functions registered: can't find encoding
网上Google多遍后,发现仍是要设置系统的环境变量PYTHONPATH和PYTHONHOME为Anaconda的安装目录(C:\ProgramData\Anaconda3)后,scons能正常运行了。
因而cmd跳到Godot目录,调“scons p=windows vsproj=yes”想编译,结果报错。细看log,怎么会认为是arm平台的呢。原来漏了一步,要调用vcvarsall.bat。因而先调用(vs2015是Mircrosoft Visual Studio 14.0)
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"" x86_amd64
而后再调用
scons p=windows vsproj=yes
最后scons帮我在Anaconda下编译出Godot了,yeah!