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

目录
相关文章
|
3月前
|
调度 项目管理 计算机视觉
『软件工程8』软件项目进度安排与跟踪,一招学会计算关键路径
该文章详细解释了如何在软件项目管理中安排进度与跟踪,特别是如何计算和利用关键路径方法(CPM)来优化项目时间管理。
|
7月前
|
人工智能 自然语言处理 搜索推荐
梅俊:如何用好A1,轻松写好汇报、通知、复盘?
《如何用AI辅助高效写公文》课程由公文写作专家梅俊老师主讲,旨在帮助解决公文写作难题。课程涵盖广泛,不仅限于法定公文,还包括事务类公文,适合各类职场人士。梅俊老师结合15年写作经验和AI研究,提出7步法,包括问题拆解、信息分析、内容生成等,强调人与AI的协作,而非完全依赖AI。课程通过实例演示如何利用AI工具如kimichat和秘塔AI搜索提高写作效率,同时提醒用户需判断信息质量和内容质量。课程教授从初级到高级的14种公文写作,鼓励学员实践并形成“AI思维”。
285 1
|
7月前
|
数据采集 程序员 测试技术
程序员如何准备好一次高质量的汇报?
为什么掌握汇报能力很重要? 可能很多同学会说“我这种基层打工人不需要做年终述职了,跟周报一样写个书面总结就行了,至少现阶段跟我无关。” 当然,不少企业为了节省时间,对基层员工或基层管理者来说是不需要做述职汇报或者年终汇报的,仅提交书面形式的年终总结即可。 但实际情况是,无论是晋升述职、提案汇报,还是与客户售前交流、项目实施讲解,处处场景都要用到汇报技能,汇报是每一位职场人在成长的过程中都应该掌握的技能。 所以建议大家在日常工作中尽量珍惜每一次上台的机会,并从中积累汇报经验。
235 1
程序员如何准备好一次高质量的汇报?
|
XML 数据可视化 安全
给 DSL 开个脑洞:无状态的状态机
什么是 DSL ?DSL 是一种工具,其核心价值在于提供了一种手段,可以更加清晰地就系统某部分的意图进行沟通。本文将通过实现一个状态机引擎来看清 DSL 的本质,介绍状态机的核心模型和 Fluent 接口,并解决状态机的性能问题。
1740 0
给 DSL 开个脑洞:无状态的状态机
|
数据安全/隐私保护
xczx项目问题集
xczx项目问题集
87 0
xczx项目问题集
|
小程序 Java
如何用项目甘特图,做好项目汇报
如何用项目甘特图,做好项目汇报
|
设计模式 前端开发 算法
坚持造轮子第四天 - 统一状态管理
坚持造轮子第四天 - 统一状态管理
140 0
|
Ubuntu Linux 数据安全/隐私保护
同事的一个动作,让我熬夜的工作全部白费…….
xtrlock 工具在大多数 Linux 发行版软件库里,我们可以直接使用对应的发行版的包管理器来安装它。 在 Debian,Ubuntu,Linux Mint上可直接使用 apt-get 命令安装
333 0
同事的一个动作,让我熬夜的工作全部白费…….
|
流计算
老板要我开发一个简单的工作流,15 次需求变更,我干到秃了。。
一天,老板找到我,说要做个简单的工作流引擎。 我查了一天啥是工作流,然后做出了如下版本:
208 0
老板要我开发一个简单的工作流,15 次需求变更,我干到秃了。。
|
存储 API 调度
[工作流]一个任务的一辈子
参考: [https://yuque.antfin-inc.com/hanjun.hw/yvmten2/ido5af](https://yuque.antfin-inc.com/hanjun.hw/yvmten2/ido5af) 引擎相关技术文档 | **流程引擎到平台的mq消息链路** | [https://yuque.antfin-inc.com/hanjun.hw/yvmten2/id
417 0