GODOT 3.0 开发进度汇报 #6

简介: 经过了又一个月的开发工作,在此作进度报告。本月的工作可以划分为:完成Web导出工具开发、GDNative、以及新的粒子系统。Web ExportGodot 现在有了一款实验性的导出工具,导出目标为WebAssembly 与 WebGL2。

img_a2b856c6c2b21f26ba47cafd5d7c315c.gif

经过了又一个月的开发工作,在此作进度报告。本月的工作可以划分为:完成Web导出工具开发、GDNative、以及新的粒子系统。

Web Export

Godot 现在有了一款实验性的导出工具,导出目标为WebAssembly 与 WebGL2。这要感谢eska的工作成果。这项功能需要在最新的Chrome或Firefox浏览器中进行测试,不过运行效果是真的好。它甚至可以让游戏在移动Web环境完美运行!

这里有一个小型的 platformer demo 供大家体验(记住只能在最新版本的Chrome或Firefox下运行!)。

GDNative

我们最近写了一篇关于 GDNative的文章。现在,让我来告诉你由Thomas Herzog (karroffel) 与Bojidar Marinov (bojidar-bg)开发的这项令人惊艳的新特性。它能产生许多好玩的事情:

  1. 添加用C++编写的Godot对象,而无需重新编译godot或编辑器。原理是在此之前要先创建一个模块,用于进行隐式重新编译一切。
  2. 可以优化游戏的任意部分,即用C++进行重写,也可用任何能编译成目标平台原生代码的语言进行编写,而且无需重新编译引擎或模板。
  3. 不用任何的重新编译即可绑定任意外部库(如SQLite、Steam等)。甚至可能从我们的Asset共享仓库下载这些绑定库。
  4. 使用官方库可以添加更多的Godot之外的导入导出格式。比如你可以从Asset Sharing平台下载一个FBX导入模块。就像直接支持各种素材一样,如Spine(译注:2D动画制作软件)使用自己的库。
  5. 添加外部脚本语言,如Lua、Python等。当然,不到GDScript那么好的整合程度,能发挥的作用会比较小,你要清楚这些限制。

这将是Godot 3.0一项令人惊艳的新副产物。

新的粒子系统

Godot 3.0会带来一套新的粒子系统。随着时代的变化,该系统最主要的区别是粒子系统完全通过GPU来处理的,这意味着什么呢?

速度!

你可以在那些过时的CPU或移动设备上运行几十万个粒子,或者在现代的桌面GPU上运行上百万个粒子。

img_7e66842953af9852362078e743e6dfec.gif

定制化

我们提供了默认的粒子材质的同时,还可以让你完全通过Shader编写自己的粒子逻辑。还可以将例子系统转换到Shader以便手动进行进一步的修改。

更多能力

默认粒子材质允许使用时间变化曲线对所有参数进行调整(tweaking)。

img_c8c154e46ab79cd68b1a71c2b090ff3a.jpg

同时它也不再仅限于公告牌(Billborad)。新的例子系统默认才用Mesh - 要想实现那种代理四面体(译注:你知道公告牌是什么效果就知道这个词什么意思了)的效果,只需要创建一个QuadMesh节点,并指定一个billboard 属性为true的材质即可。

img_9404aec39494396bdf07b5f7883e8016.gif

由于可以通过GPU处理更多粒子,因此可以实现更精彩的效果如基于暴风算法的跟随(brute-forced trails):

img_a2b856c6c2b21f26ba47cafd5d7c315c.gif

并且最终能提供更强大的自发光体,如Box、Sphere及Mesh面或体。Mesh平面也可直接按法线发光:

img_f729b26018791bbec75dda0cf83d6229.gif

我们也想让骨骼变换(skeletal transform)支持发光Mesh,不过虽然不是太复杂也得等到3.1啦 :(

Godot 3.0 alpha

截止本次报告为止,在3.0中计划的所有主要功能均已实现。我们很快会释出一个alpha构建版本,以便所有人开始体验及『捉虫』。敬请期待!

查看代码

如果你有兴趣看看代码里这几个特性是如何实现的,可以检出托管在GitHub上的 master 分支代码。

本文译自: https://godotengine.org/article/godot-30-progress-report-6

目录
相关文章
|
12月前
|
监控
【技术小组日常管理工作、进度检验与管理、任务分配的工作经验之谈】
【技术小组日常管理工作、进度检验与管理、任务分配的工作经验之谈】
|
数据安全/隐私保护
xczx项目问题集
xczx项目问题集
78 0
xczx项目问题集
|
运维 前端开发 程序员
一个切图仔的工作沟通日常
一个切图仔的工作沟通日常
95 0
|
存储 Python
热饭的测开成果盘点第二十二期:wqrfnium自动维护库
本期介绍的是一个组件,身为python的第三方库,已经被pypi收录,且国内镜像源也早已复制。也就是说可以通过pip install 来下载。这个组件包括:wqrfnium 和 wqrfnium_app 。他们都是基于python/selenium/appium的一个可以自动维护ui元素,抵抗ui元素定位变化的组件。
热饭的测开成果盘点第二十二期:wqrfnium自动维护库
|
小程序 Java
如何用项目甘特图,做好项目汇报
如何用项目甘特图,做好项目汇报
|
架构师 项目管理
会沟通才可能找到女友 | 新晋leader
如果你的职业规划,就是往专业深度上走,成长为一名专家,如何增大职场成功的概率呢?
273 0
|
项目管理
艾伟也谈项目管理,工作感言:任务分配及管理
前面说到过,刚开始带小组,接到一个任务,我就估算了我大概要多少时间,然后小组多少个人就算是多少个我,估算时间=我要的总时间"小组人数(好笨的想法呀,不用时间跟组员交待任务的吗?个个组员都是我吗,比我强的还好,顶多做完了休息,差一点的就麻烦了),结果实际时间多了很多,而且小组里有的人做完了无事可做,有的人则忙得焦头烂额,容易打击组员的积极性,造成组员之间的不满。
1310 0
如何做项目的汇报/分享?
在做项目汇报/分享时,怎样的表达框架才能全面、准确和有条理地传达这个项目的相关信息呢?记录下个人的一些思考
2596 0