关于Unity可视化编程工具bolt的基本使用和思考

家电修理 2023-07-16 19:16www.caominkang.com电器维修

关于这篇博客,我将会从四个方面去阐述我对于bolt的一些思考和理解,分别是bolt的来源,使用的目的,具体的用例,导致的问题几个方面去探讨,

电脑维修网希望看完博客的你,能对bolt有个初步的认知,这一部分的理解也纯粹是我的个人认知,不足的地方也可以在评论处留言和指导

 

bolt的来源

   

    ,借用一下官方对于bolt的一个描述

    Bolt是Unity的一个可视化编程插件,通过节点式的编辑图表来制定逻辑,策划人员或程序员可以用它来快速搭建游戏原型。Bolt还带有一个专门的API,让程序员能编写高级行为、制作自定义节点,打造自己的 “轮子” 为他人所用。

    也就是说,这是一个能用可视化编程,仿ue4,能够在Unity里进行快速开发的一个工具,目前的话,也是可以在Unity的官方商店里能下载到的免费资源,还有它配套的示例工程,方便我们第一时间去使用它

   

使用的目的

    通俗点来说,其实bolt就是一个仿UE4蓝图的一个可视化编程工具,ue4的大名大家肯定是都听过的,属于游戏开发领域一个很知名的引擎,了,目前国内的话,可能还是Unity的开发者占了绝大多数,我的话平时,也是一个普通的unity搬砖人,从我的角度来说,学习它有着三大作用.

    1.学习类ue4的可视化编程思路,

    目前,身为游戏行业的开发人员,即使现在使用Unity,未来是否会转为使用ue4也是不可预知的,如果要使用ue4,蓝图的掌握自然是必不可少,bolt作为unity为主的插件,对于Unity熟悉的我们自然可以很方便的上手,提前了解到如何进行可视化编程的开发

    2.用于进行中小型游戏的快速开发

    bolt基于可视化编程的设计,无需书写过多的代码,如果能够做到灵活使用,制作大部分简单的功能,而且对于代码书写不是很擅长的策划同学,也可以快速用来进行原型开发,就这一块,会比较类似RpgMaker,rpgMaker我也没怎么用过,要是比较和bolt的优劣,我可能也无法给出更多的意见

    3.用于项目内制作一些编辑器的功能

    这一块的话,其实很多项目里,都会用到一些类似技能编辑器,动画编辑器之类的工具,我们可以结合Unity自己的编辑器方法去进行工具开发,,如果统一选用一种较为成熟的开发工具,我觉得Bolt是一个不错的想法,它方便的连线和清晰的逻辑关系,可以很简单地导出图的关系,我们再根据生成的状态机转换成相应的json,lua等文档文件,那么就可以很方便给到策划同学去进行数值和功能的配置了

   

   

Bolt技术的核心用法是什么

    关于这一部分,我就选择借用一下官方的一个教程视频案例去阐述观点,如果感兴趣的朋友,也可以去看看,知乎和b站上都有Unity官方放的Bolt可视化编程教学视频,这里的用法,基本也是会采用一些我觉得案例比较好的点,去介绍bolt的一些使用方法

       在此之前,需要安装,这里我就偷个懒,搬一下别人的安装图,了,所有人的安装方法,肯定也都是一样的啦,基本导入完成package,如同所示就可以下一步,就可以轻松完成安装了

导入完成后会自动弹出设置窗口

是欢迎界面,点击Next按钮设置Naming

导入程序集,自己想要的也可以点加号进行添加

4.Tools/bolt/Unit Options Wizard

 

 

    (1)制作关于人物移动功能

嗯,关于这个图是怎么来的,也来一张图,简单说,你右键一个graph,再在graph上邮件生成一个unit,那么就有我们的一个基本单元了

这里控制单元的unity一般是由两个部分组成,一个是自身变量,一个是流程的流向,连起来会比较像unity的状态机,

在使用我们的bolt时候,,我们要知道我们要开发的功能是由哪些逻辑部分组成, 这里比较推荐的是一个反推的逻辑思路去开发

简单来说,你想要控制一个人物移动,你需要拿到这个物体,每帧去调用,获得键盘输入,给物体设置移动速度,这几个部分组成,那么根据这个思路,,也就得到了我们的上图,键盘输入x挂载物体变量(speed)->update->setVelocity

这里都是一些Unity的常用方法,在bolt的搜索框里可以很快的进行搜索,这也是我觉得使用对策划同学稍有难度的点,基本我得是知道有这个方法,再去使用方法连线构成,对于程序同学而言,我觉得基本知道这个图,那么开发逻辑其实和我们平常的编程是差不多的,区别也只是代码编程图上连线,虽然会少些一点,阅读成本也是有提升的

所以根据这个图,也是引出我们bolt的第二种用法

 

(2)超级节点制作

类似下图,比如你有通用的碰撞需求,就可以,将几个节点连接起来,给到input和output输入输出,这就是一个通用的宏,可以给到别的流去使用

在一个类马里奥的简单闯关游戏,碰撞检测是我们经常需要用到的,这里,我们就新建了一个通用的floMachine,给到输入输出节点,这样,无论是碰撞通关物体,敌人,障碍物,都可以用到这样一个节点,而不是重复制作,这一点,是不是也很像我们平常开发的通用方法,也就是说,如果我们选择给到策划同学去开发功能,那么,程序同学就可能需要大量制作这样的通用节点,给到策划同学去连接,这样,不用过多关心其中的逻辑,而是直接面向到本质,也就是人物-》碰撞-》掉血

3.类似动画状态机一样的功能StateMachine

如上图所示,这是bolt里的一个StateMachine,这里是用来制作一个怪物状态的切换

我们想要怪物在规定的时间里随机后,切换成不同的状态,这样,我们就新建一个StateMachine,创建三个节点,三个节点分别是原地,向左和向右,然后给它们连上线,指定切换条件为图二的宏指令,这样,这个状态机就会定时的切换到对应的状态了,然后这个,我们会作为输出给到敌人的移动方法,这里就不细讲,本质上也是设置动画,速度,翻转,这些部分,组成我们一个敌人的移动

如上面简单的三个点,其实就是bolt开发的几个我认为有用的基本用法,具体到细节,其实和写代码的感觉是一样的,只不过是以图的形式去展示出来

4.用这项技术可能会出现什么问题

其实这里一个简单的介绍完,不知道各位的观点如何,我在使用过程中,最大的感觉还是国内文档的不足,很显然,这是一个仿照蓝图的工具,目前国内的项目开发里,如果要用到这个工具去完成一个完整的项目,,以下的几个问题,是需要相当的成本去磨合的

1.调试复杂度

2.如何去管理大量的宏

3.一个超级复杂的逻辑图组成的阅读成本

4.工作的分配,程序和策划实现协调高效的开发

也就是说,虽然它是一个五星的工具,很显然,它的生态方面,在国内,是不够成熟的,,它生成的一些json文件,用于我们纯逻辑的配置,来制作一些工具,或许是比较ok的,

用来做成熟项目,从我目前了解的情况看,可能到中大型项目中使用,或许还有很长一段距离,我电脑维修网希望从这篇博客极其简短的介绍,有更多的朋友能对这样一个可视化编程工具产生兴趣,毕竟ue4在蓝图方面的生态已经做的很优秀,那么,对于这样一个可能会引领未来游戏编程的开发思路,在业余尝试用用bolt进行项目的开发,也未尝不是我们对于未来的一个探索

 

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by