记得第一次听到Godot的名字时还在深圳工作,刚刚接触Unity快一年,只是匆匆在Github上star了,就没有继续了。后面时不时翻开它的Git主页,然而一直没有下载过,每每想看看开源引擎都去看Orge了,但没坚持到开始-_-||。去年年底,老孙雨show了一下Gamejam的成果,全球参与Gamejam的项目中,好像是3000,还是500都是Unity的,老孙雨得意洋洋,看看我们大Unity多V5,UE4虽然紧随其后,但相差起码一个数量级。然而我在other一栏中看到了排在第一位的是Godot,好像是90+,忘了。又再次翻开其Git主页看了看,哦,这个引擎还在,好像还有所发展了哦。

终于,现在进了引擎部,老大在Unity的GC折磨下苦不堪言,甚至祭出了下个项目要用有源码的UE4云云。但考虑到UE4的收费模式和公司一贯作风,我不认为即使公司有次时代需求就会用UE4,Unity也可以做次时代啊,效果不好优化不行别老怪引擎。这时我想起Godot,记得页面上的截图,编辑器还可以,要不试试,自己玩玩,或许有一天能派上用场。好,开始了,先学习Godot的使用,后研读Godot的代码。

主页:https://godotengine.org/

Github:https://github.com/alonecat06/godot

文档:http://docs.godotengine.org/en/latest/index.html

样例项目: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后查到,需要

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!

Godot开发环境与学习资源的更多相关文章

  1. Scala开发环境搭建与资源推荐

    Scala开发环境搭建与资源推荐 本文介绍了Scala的开发环境,包括SDK.IDE的设置.常用资源列表等.Scala是一门静态语言,很有可能就是Java的继承者. AD: 2014WOT全球软件技术 ...

  2. JAVA入门(1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则)

    主要内容: 1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则 JAVA的平台应用 JAVA的平台应用分为3个部分: 一.JAVA SE,主要 ...

  3. VB6.0编程笔记——(2)开发环境准备&学习前导入

    工欲善其事必先利其器,着手开始学习写代码之前,我们需要先准备好需要用到的工具.这篇文章会教大家部署好环境,同时会告知前期我们需要知道的一点内容(可以不用特别理解,只要记住用法就行,后续会深入展开介绍) ...

  4. Android开发学习总结——搭建最新版本的Android开发环境

    原文出自:https://www.cnblogs.com/xdp-gacl/p/4322165.html#undefined 最近由于工作中要负责开发一款Android的App,之前都是做JavaWe ...

  5. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

  6. 【转】Android开发学习总结(一)——搭建最新版本的Android开发环境

    最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1. ...

  7. 第二章 Odoo 12开发之开发环境准备

    在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务.本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置.这里采用 Ubuntu 系统来作为开发服务器实例的主机, ...

  8. Windows下配置Java开发环境

    学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...

  9. Android开发环境搭建相关文章列表(转载)

    Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...

随机推荐

  1. Excel单元格内容拆分、合并

    例:如何将EXCEL单元格A1中的“1-2-1”,在B1.C1.D1单元格中分别显示”1“.”2“.”1“.方法一: 在B1中输入“=mid(A1,1,1)”在C1中输入“=mid(AI,3,1)”在 ...

  2. xmlhttp

    File an issue about the selected textFile an issue about the selected text XMLHttpRequest Living Sta ...

  3. 一定要 先删除 sc表 中的 某元组 行,,, 再删除 course表中的 元组行

    一定要  先删除 sc表 中的  某元组   行,,, 再删除  course表中的  元组行 course表 SC表 删除  course表中的  元组行,,出现错误 sc    ---->参 ...

  4. [BAT]cmd命令之 cd /d %~dp0

    cd /d %~dp0是什么意思啊?批处理文件中的一条语句意思是 更改当前目录为批处理本身的目录 有些晕吧?不急,我举例 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd /d ...

  5. Linux操作系统Vim代码Tab自动补全配置

    function! CleverTab() , col( ) =~ '^\s*$' return "\<Tab>" else return "\<C-N ...

  6. 557. Reverse Words in a String III

    static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...

  7. 2018.08.30 NOIP模拟 graph(dfs序/树剖+线段树)

    [描述] 给你一个图,一共有 N 个点,2*N-2 条有向边. 边目录按两部分给出 1. 开始的 n-1 条边描述了一颗以 1 号点为根的生成树,即每个点都可以由 1 号点 到达. 2. 接下来的 N ...

  8. 2018.08.28 洛谷P3345 [ZJOI2015]幻想乡战略游戏(点分树)

    传送门 题目就是要求维护带权重心. 因此破题的关键点自然就是带权重心的性质. 这时发现直接找带权重心是O(n)的,考虑优化方案. 发现点分树的树高是logn级别的,并且对于以u为根的树,带权重心要么就 ...

  9. 日历时间选择控件---3(支持ie、火狐)

    效果展示:  源代码: <script language=javascript ><!--/* 调用方法:不能用onfocus,要用onclick  <input onclic ...

  10. UVa 11134 Fabled Rooks (贪心+问题分解)

    题意:在一个n*n的棋盘上放n个车,让它们不互相攻击,并且第i辆车在给定的小矩形内. 析:说实话,一看这个题真是没思路,后来看了分析,原来这个列和行是没有任何关系的,我们可以分开看, 把它变成两个一维 ...