不写代码能做游戏?使用Unity Bolt插件

最近在玩 Unity,一个主流的游戏引擎,同类的产品还有 Unreal(虚幻引擎),而虚幻引擎里面有一个特别好用的功能:蓝图。

这个蓝图功能可以让你不写代码做游戏。

那么 Unreal 是怎么实现无代码做游戏的呢?先贴上一张Unreal 的蓝图:

不写代码能做游戏?使用Unity Bolt插件

上面这张图是Unreal 的一部分游戏代码,可以看到很多框框和线,这些框和线都是拖拽而来的,而灰色框部分则是一个组,包含一个小功能的蓝图,你玩的堡垒之夜吃鸡类游戏可能就是用这个功能设计的,是不是很牛白~~

既然 Unreal 有这个功能,那么 Unity也会有的吧,果不其然,一搜索,就找到了 Bolt,来看看 Unity中的Bolt功能吧。

不写代码能做游戏?使用Unity Bolt插件

什么是Bolt

Bolt 是 Unity游戏引擎中的一个可视化脚本,它是一个Package,你可以在 Unity Asset Store当找到到它,直接点击”在Unity中打开“就可以直接导入这个包了。

不写代码能做游戏?使用Unity Bolt插件

使用 Bolt 插件,可以让艺术家、设计师和程序员无需编写任何代码即可创建游戏机制和互交系统。

Bolt开发实践

接下来,我们通过一个官方的Bolt教程,来实践下Bolt到底该怎么使用,现阶段这个游戏只实现了以下功能:

  • 玩家移动,反转

  • 玩家移动动画

  • 玩家跳跃

以上功能就能大概的让你了解下Bolt 的使用,如果你想查看完整的教程,请查看 Unity Bolt 官方教程。

导入Bolt包

打开 Unity Asset Store ,选择”在Unity中打开“,直接导入Bolt包,具体步骤可以看官网教程 。本文主要是实践下Bolt包的使用。

导入游戏资源

在Unity Asset Store中下载游戏中使用到的资源,资源中包括搭建好的场景,图片,音效,动画等。

不写代码能做游戏?使用Unity Bolt插件

玩家移动

打开游戏资源包,选择 Level1场景,然后点击 Player组件

不写代码能做游戏?使用Unity Bolt插件

在右侧属性栏中点击 Add Component,选中 Bolt→ Flow Machine创建一个宏,在 Macro 属性中创建一个 PlayerController 文件。

不写代码能做游戏?使用Unity Bolt插件

直接看玩家移动的蓝图:

不写代码能做游戏?使用Unity Bolt插件

不写代码能做游戏?使用Unity Bolt插件

通过上面的图,可以看到代码的运行逻辑,首先从 Update 事件开始,我们设置了 moveMent 变量的值,而这个值是通过键盘事件 input Get Axis 的x方向值 * 速度speed来得到的。

接着我们设置了玩家刚体的坐标,坐标值x是 moveMent ,而y则不变,因为玩家左右移动只需要改变x轴。

不写代码能做游戏?使用Unity Bolt插件

不写代码能做游戏?使用Unity Bolt插件

玩家反转的功能,是通过 Set Local Scale 来改变的,根据 moveMent 的值,0是不动,-1是向左,1是向右,如果这个值是 -1的话,玩家就要反转一下。

玩家行走动画

不写代码能做游戏?使用Unity Bolt插件

不写代码能做游戏?使用Unity Bolt插件

玩家的动画中有个 Speed属性,只要它有变动,动画就会执行。

玩家跳跃

不写代码能做游戏?使用Unity Bolt插件

不写代码能做游戏?使用Unity Bolt插件

这里监听了键盘上的空格键,只要按下,玩家就添加了一个力,这个力在x轴是0,Y轴是取的一个 jump 的变量,它的值我设置的是12,就是说按下空格键,玩家就会向上跳12的力。

Bolt初体验

对于我来说,刚开发使用Bolt感觉很繁琐,一行代码可以搞定的事情,要拖拽好几个框框来解决,但是我相信,存在即合理,对于不会代码的朋友来说,使用Bolt绝对是不错的选择。

我也会继续尝试Bolt,因为虚幻引擎中的蓝图也是大规模的使用的,可视化编程是未来的趋势。

总结

通过Unreal蓝图功能,我们找到了Untiy中的Bolt,从Bolt的安装到实践,初步的体验了下官方Bolt教程中的基本功能,实现了玩家移动,跳跃等功能。

  • Unity Bolt 是一个可视化脚本的包,它可以让你不写代码做游戏

  • Unreal蓝图和Unity Bolt具有同样的功能。

我是极客猿小兵,公众号【极客猿】,记录独立开发者学习成长(游戏开发/产品开发/逆向/运营设计)。

上一篇:【Oracle Database】Oracle RAC(一):共享存储


下一篇:Unreal笔记