之前使用过Player Maker,就一直对类似的可以化脚本插件不太感冒,感觉很低级。最近看了Unity Asset Score排名,无意之中看到了Bolt还是第一名。(现在回想第一次听到它应该是在Unity做Shader Graph的直播上)。排名还是挺高的,好奇之下就下来玩玩,之后就不一发不可以收拾。

Unity 可视化脚本 Bolt插件 使用评测

整体特点:

1. 以Event驱动,分为Flow和Status两大逻辑控制单元,可以分别绑定对相应的对象上

2. 扩展性很强,自定义Event 、Wait等结点很方便。这样可以配合其它框架发挥1+1大于2的作用,比如:个人非常喜欢配合UniRX使用。使用它可以帮助或者说是强制我们使用ECS/MCV的模式进行解决问题,强制我们进行模块化、面向对象思考。这里还是推荐大家使用它进行UI层的控制。

3. 与控制模块交互很方便,调用底层代码要比Player Maker方便的多,还有常用的UnityEvent以及Variable。


下面是本人关注功能的实验内容

1. 结点

支持如下,其它不用太多说明,Event、Wait很丰富,另外Favorite下的第一个是指当前Flow或者status绑定的对象。可以通过其访问对象上绑定的脚本。

Unity 可视化脚本 Bolt插件 使用评测

访问脚本的Test方法过程如下,但每次修改调用接口脚本时,需要更新一下(Tools ->Bolt ->Update Unit options),这样有人会说不方便,本人感觉这样的限制会更好,毕竟这些在Bolt中调用类都是对外提供的接口,接口如果经常更新说明设计是有D e问题。Debug结点使用有点麻烦。对于方法的返回值,内置类型都支持(甚至是协程)    

Unity 可视化脚本 Bolt插件 使用评测

Unity 可视化脚本 Bolt插件 使用评测

如果需要返回自定义类,需要在以下界面中加入相应的类的定义。这样在 Variable中也可以使用了。

Unity 可视化脚本 Bolt插件 使用评测

2. 事件

基本包括了所有Unity支持的事件

Unity 可视化脚本 Bolt插件 使用评测

Unity 可视化脚本 Bolt插件 使用评测


Unity 可视化脚本 Bolt插件 使用评测

其中UnityEvent通过获取Flow或者Status组件,调用以下TriggerUnityEvent方法。

Unity 可视化脚本 Bolt插件 使用评测

UI事件支持,很方便。

Unity 可视化脚本 Bolt插件 使用评测

控制UI事件的触发
Unity 可视化脚本 Bolt插件 使用评测

3. 常量

支持以下五种常量,生命周期不同,本人只常用Scene和Object的,App可以做为单体使用。

Unity 可视化脚本 Bolt插件 使用评测

Unity 可视化脚本 Bolt插件 使用评测

如上图,定义Scene常量之后,会在对象所在的Scene中自动创建一个对象,通过以下结点进行设置

Unity 可视化脚本 Bolt插件 使用评测通过代码访问也很方便

Unity 可视化脚本 Bolt插件 使用评测

4. 自定义结点

这个是它的优势,以下是一个定义的Wait结点

Unity 可视化脚本 Bolt插件 使用评测

以下是加入结点属性的方法,定义了一个Second的ValueInput成员,其中PortLable属性是用于显示的属性名,如下需要Override Definition方法并把ValueInput加入到队列中,这样才能在结点UI中显示新的属性。

Unity 可视化脚本 Bolt插件 使用评测

Unity 可视化脚本 Bolt插件 使用评测

Unity 可视化脚本 Bolt插件 使用评测

5. 异步支持

常用的结点就是Wait结点了,直接支持协程结点,只不过使用不太方便,推荐使用自定义Wait进行封装。

Unity 可视化脚本 Bolt插件 使用评测


6. 运行时支持

Unity 可视化脚本 Bolt插件 使用评测

7. 性能

没有发现明显的性能问题

8. 版本控制

Flow或者Status就是一个Json文件,这样可以进行多人SVN的版本控制。


附:bolt 1.2插件分享,只用于学习参考。

链接:https://pan.baidu.com/s/1MZE1n3EGZuRKujZAp-Uw3Q 密码:s02l

相关文章:

  • 2021-05-19
  • 2021-05-27
  • 2022-01-02
  • 2021-05-02
  • 2021-08-01
  • 2022-12-23
  • 2021-12-01
  • 2021-10-03
猜你喜欢
  • 2022-12-23
  • 2022-01-20
  • 2021-08-01
  • 2021-06-05
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案