关于这篇博客,我将会从四个方面去阐述我对于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输入输出,这就是一个通用的宏,可以给到别的流去使用

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

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

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

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

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

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

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

1.调试复杂度

2.如何去管理大量的宏

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

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

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

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

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

  1. Unity可视化编程插件: Bolt,可以像UE4的蓝图那样啦

    一.Bolt介绍 Unity公众号上推了一篇文章:<Bolt可视化编程现已面向所有Unity用户免费开放> Bolt是Unity的一个可视化编程插件,通过节点式的编辑图表来制定逻辑,策划人 ...

  2. 分享一个自己写的可视化编程工具

    分享一个自己参考UE4蓝图写的可视化编程工具,xVP: 下载地址:链接: https://pan.baidu.com/s/18tcynzp7TbpP6wvMT9XyIA 提取码: qkue

  3. Unity 可视化编辑工具 树节点 Tree Node Editor 四

    Unity 可视化编辑工具 树节点 Tree Node Editor 四 接上一篇Unity Behavior Tree Editor 行为树编辑器实现 三 上一篇主要讲解编辑器的使用,像关于自定义条 ...

  4. google可视化编程工具blockly介绍

    1.什么是blockly? blockly是google发布的可视化编程工具,是一个可用于Web.Android.iOS的可视化代码编辑器库:.blockly有几个特点: 它是纯粹的javascrip ...

  5. 来算google的可视化编程工具——Blockly,不仅仅是玩具

    Blockly - 来自Google的可视化编程工具 Google Blockly 是一款基于Web的.开源的.可视化程序编辑器.你可以通过拖拽块的形式快速构建程序,而这些所拖拽的每个块就是组成程序的 ...

  6. 【Unity可视编程】Bolt 介绍及橙光游戏/互动视频效果的实现

    Bolt介绍 前言:想实现类似橙光游戏.互动视频的效果.如果用代码编写,过多的分支节点会难以管理,如果有类似虚幻蓝图的可视化编程方式将极大方便工作开展.先是找到PlayerMaker插件,觉得编写有局 ...

  7. 项目四 可视化编程工具

    学习目标 了解PlayMaker可视化插件的下载和安装 熟悉PlayMaker编程功能,事件.变量等要素. 掌握按钮和鼠标出发物体等交互功能 项目描述 通过对PlayMaker可视化插件的熟悉,知道在 ...

  8. [票据打印]使用扫描仪加快可视化编程工具下票据套打的开发

    今天在论坛中看到有人在讨论关于票据打印的问题 在DOS年代,我们是直接用控制打印机对象的方法进行单字打印. 在现在图形界面开发的程序中,仍有很多人在使用这种方法. 当然这种方法的好处是显而易见的,打印 ...

  9. Blockly - 来自Google的可视化编程工具

    Google Blockly 是一款基于Web的.开源的.可视化程序编辑器.你可以通过拖拽块的形式快速构建程序,而这些所拖拽的每个块就是组成程序的基本单元.可视化编程完成,Blockly 直接支持 J ...

  10. Unity可视化编程插件bolt1.4.15 (一)bolt下载与安装

    (一)下载bolt 官网下载 百度网盘(提取码:pcyx ) (网盘的是我打包的,不需要其他步骤) 官网下载: ①导入后,点击import. ②然后会弹出一个窗口如图 在弹出的BOLT对话框中,点击& ...

最新文章

  1. (译)cocos2d-x跨androidios平台开发入门教程
  2. php 输出方法,PHP输出打印方法
  3. VUE之监听属性 watch
  4. vim文件时自动添加作者、时间、版权等信息
  5. centos7重启后/etc/resolv.conf 被还原解决办法
  6. 设计模式-责任链设计
  7. NanoHttpd android客户端作为服务器使用
  8. 虚拟机安装Win7系统
  9. 多传感器融合方式分析
  10. 服务器光纤信号灯,光纤收发器的六个指示灯都代表什么?
  11. android钛备份功能源码,TitaniumBackup钛备份专业增捐赠版 — 安卓备份神器
  12. linux 游戏下载论坛,LINUX下的各种游戏
  13. Office 365 Certification 考试心得
  14. 电容的字母型规格型号标号含义解读总结
  15. PAT 1086 就不告诉你 python
  16. 解决Abaqus有限元分析不收敛的6条建议
  17. 泡椒java软件下载_为男性专门设计的手机阅读软件大集合
  18. 搜狐白社会1个月来的使用体验(转)
  19. 【20保研】兰州大学信息科学与工程学院2019年优秀大学生暑期夏令营活动通知...
  20. ELK入门与基本概念

热门文章

  1. Hystrix断路器
  2. ollvm源码分析之虚假控制流(2)
  3. IDEA中 GIT与SVN版本控制插件的切换
  4. HDOJ 2013_大二写
  5. [Luogu] 程序自动分析
  6. 我在16ASPX下了一个系统是ACCESS和VS2005做的我想把那个连接数据库的'DB_16aspx'的名字改了进不了了可是?...
  7. awk grep sed cut学习
  8. 一个简单的把对象序列化/反序列化为json格式的程序
  9. 深度学习图像分类(九):SENet
  10. oracle库导出,oracle整库导出