Godot开发环境与学习资源
记得第一次听到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开发环境与学习资源的更多相关文章
- Scala开发环境搭建与资源推荐
Scala开发环境搭建与资源推荐 本文介绍了Scala的开发环境,包括SDK.IDE的设置.常用资源列表等.Scala是一门静态语言,很有可能就是Java的继承者. AD: 2014WOT全球软件技术 ...
- 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,主要 ...
- VB6.0编程笔记——(2)开发环境准备&学习前导入
工欲善其事必先利其器,着手开始学习写代码之前,我们需要先准备好需要用到的工具.这篇文章会教大家部署好环境,同时会告知前期我们需要知道的一点内容(可以不用特别理解,只要记住用法就行,后续会深入展开介绍) ...
- Android开发学习总结——搭建最新版本的Android开发环境
原文出自:https://www.cnblogs.com/xdp-gacl/p/4322165.html#undefined 最近由于工作中要负责开发一款Android的App,之前都是做JavaWe ...
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
- 【转】Android开发学习总结(一)——搭建最新版本的Android开发环境
最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1. ...
- 第二章 Odoo 12开发之开发环境准备
在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务.本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置.这里采用 Ubuntu 系统来作为开发服务器实例的主机, ...
- Windows下配置Java开发环境
学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...
- Android开发环境搭建相关文章列表(转载)
Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...
随机推荐
- 排序矩阵中的从小到大第k个数 · Kth Smallest Number In Sorted Matrix
[抄题]: 在一个排序矩阵中找从小到大的第 k 个整数. 排序矩阵的定义为:每一行递增,每一列也递增. [思维问题]: 不知道应该怎么加,因为不是一维单调的. [一句话思路]: 周围两个数给x或y挪一 ...
- php Pthread 多线程 (三) Mutex 互斥量
当我们用多线程操作同一个资源时,在同一时间内只能有一个线程能够对资源进行操作,这时就需要用到互斥量了.比如我们对同一个文件进行读写操作时. <?php class Add extends Thr ...
- 阈值分割与XLD轮廓拼接——第4讲
一.阈值分割 阈值分割算子众多: threshold :这是最基本最简单的阈值算子. binary_threshold :它是自动阈值算子,自动选出暗(dark)的区域,或者自动选出亮(light)的 ...
- 201621123008 《Java程序设计》第五周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:接口,内部类. 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 1.3 可选:使用常 ...
- 泛型约束where条件的使用(可以通过类型参数动态反射创建实例)
定义抽象的人类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- 【JAVA】通过URLConnection/HttpURLConnection发送HTTP请求的方法(一)
Java原生的API可用于发送HTTP请求 即java.net.URL.java.net.URLConnection,JDK自带的类: 1.通过统一资源定位器(java.net.URL)获取连接器(j ...
- 更新vs2017 15.9.2后,在指定-T v141_xp情况下载编译会报下面warning MSB8051
更新vs2017 15.9.2后,在指定-T v141_xp情况下载编译会报下面warning: C:\Program Files (x86)\Microsoft Visual Studio\2017 ...
- 2018.10.02 NOIP模拟 矩阵分组(二分答案)
传送门 考场上并不会写二分的check函数,下来看了看题解发现真是妙极. 不难想到每次直接从四个角各按阶梯状拓展出合法区域A,再检验B是否合法就行了.(然而考场上写的弃疗了) 于是题解用了一些小技巧优 ...
- 2018.08.27 [Usaco2017 Jan]Promotion Counting(线段树合并)
描述 The cows have once again tried to form a startup company, failing to remember from past experienc ...
- EXCEL 单元格引用问题
=(SUM(INDIRECT("'2.5酒店预订收入'!"&"J"&MATCH(C21,'2.5酒店预订收入'!B:B,0)&" ...