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, ...
随机推荐
- ubuntu18 realsenseD435i
(flappbird) luo@luo-All-Series:~/librealsense/build201901/tools/enumerate-devices$ ./rs-enumerate-de ...
- [leetcode]314. Binary Tree Vertical Order Traversal二叉树垂直遍历
Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...
- 零基础学习hadoop到上手工作线路指导(初级篇)
零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了.整个过程整理一下,给大家参考,欢迎讨论,共同学习. ...
- Spring框架的事务管理之声明式事务管理的类型
1. 声明式事务管理又分成两种方式 * 基于AspectJ的XML方式(重点掌握)(具体内容见“https://www.cnblogs.com/wyhluckdog/p/10137712.html”) ...
- ubuntu 开机自动挂载nfs服务器上的home分区
通过‘fstab’也可以配置 NFS 和 SMB 的共享目录.由于涉及到的可选项很重要,并且需要了解一些协议的工作情况,您得先阅读 Samba 和 NFS . 基本语法和本地介质相差不是很多.条目中的 ...
- Loadrunner12.5-录制http://www.gw.com.cn/网页时提示“SSL身份验证失败”错误,这是为什么呢?
问题:LR产品,录制http://www.gw.com.cn/ 网页时提示下图错误,这是为什么呢? 请在如下recording options中选择正确的SSL版本,再进行录制. 注:如何确定那个SS ...
- 品味性能之道<七>:索引基础
一.索引概述 索引(index),它是数据库必不可少的一部分.它其实很简单呐!很好理解. 索引好比如一本书的目录,一张地图,一个写字楼里挂在大堂墙上的公司名录,一个地铁站的出口指示 ...
- CreateMutex用法
1. CreateMutex只是创建了一把锁, 这把锁你用来锁门还是锁抽屉还是锁你对象的内裤都由你自己决定. 2. lpName是指定这把锁的名字. 你要不给这把锁取个名字都可以. 只是有了相 ...
- cmake 头文件 库文件 链接库
原文地址:http://www.cnblogs.com/binbinjx/p/5626916.html 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_direct ...
- Zookeeper 系列(一)基本概念
Zookeeper 系列(一)基本概念 https://www.cnblogs.com/wuxl360/p/5817471.html 一.分布式协调技术 在给大家介绍 ZooKeeper 之前先来给大 ...