Unity开发者快速认识Unreal 的BluePrint
概要
十年的unity开发者,转战Unreal,本文是作者三天的工作之余,尝试制作的一个循环设置图片颜色 的功能,从代码开发,转化为可视化脚本开发,是思维上是有点难的,本文记录过程中遇到的一些问题和理解 记录在此,本人之前没有系统的学过和看过视频,看到视频都是半途而废,我觉得只有经历过制作过,才能对其中的思路有深刻的了解,使用BluePrint做的这个功能花费的时间很长,这也是我成为Unreal开发者的第一步!!
基本的一些准备工作就不解释了,直接从BluePrint界面开始!
注:计算机这行中文和英文在意思表达这块有的地方会有很大的差距 ,编辑器一定要用英文的,实在不行可以中英切换的使用,以英文为主
下面是大白话解释:
BluePrint editor界面 (designer/graph)
注:针对umg蓝图做的一个示例和理解分析
BluePrint包含的两个部分,设计编辑和逻辑图编辑,这是脚本可视化的一个重要的分离结构,使用过behaviour tree 或者 playmaker,以及其他的一些可视化脚本的插件,都是这样的思路,那Unreal则是把设计和逻辑分到了两个分页栏里,一个分页做蓝图设计,一个做蓝图的逻辑,OK!
设计编辑界面:很眼熟,应该是在Unity2018之后有了预制体的编辑窗口,嗯,仔细对比,一样的一样的一样的,不一样的就是一些属性组件控件,所以不用过多的学习
图逻辑编辑界面:这个界面,理解为一个类的编辑器,左边面板有,变量列表,函数列表,事件列表,中间窗口是类的生命周期函数的编辑。界面的逻辑是和蓝图一一对应的,就像在Unity中创建一个UI Image,然后挂载 一个Image.cs脚本,然后制作成预制体 ,所以 Unity == Unreal
(哈哈哈,所以说3d引擎都一个样,万变不离其宗,所以我们去学OpenGL吧!)
制作计时器的一段内心OS:哇,这太简单了吧,然后发呆了两小时,拖出了n个节点,没有连接,不知道啥意思,不知道要干啥,找image变量找不着,后百度找资料,教学上都是先拖动这个节点,然后连着那个节点,做完了,能跑了,然后还是啥也不会,啥也不懂
designer窗口
该写的解释图片上都有标注,这里着重需要提的几个关键点,对于unity开发者比较重要的:
1.UMG中的层次面板中,控件之间的关系可不是随便包含的,不像在unity中随便去制作,为了实现功能不择手段,虚幻的这个界面系统很像QT的界面思想,在实现功能的时候一样要按照umg的作业规范,布局面板,背景面板,控件啥的 都得整上
2.每一个控件最顶上都有一个IsVariable开关,这个是确定,在你的脚本中是否可以访问到这个变量,原理应该是,你拖到层次面板一个控件,然后脚本就创建了一个私有变量,打开IsVariable开关,就相当于私有变量修改为了公开变量,这样在graph界面的变量面板才能看见
3.蓝图对象里面包含子蓝图对象,就像Unity的预制体嵌套一样,因为从蓝图左侧的全局变量面板和局部变量面板就可以确定,实际的操作都是在主蓝图身上,子蓝图配合
4.有些组件上的值是可以修改的,都会有一个Bind按钮与其对应,点击可以创建函数设置和获取该值
5.对于一些界面的回调函数,按钮,进度条,开关组件等,都可以在控件的细节面板最底下设置回调函数,回调函数可以在蓝图的graph中定义,也可以在脚本中定义(需要打上蓝图可读写的标签)
graph窗口
关键点
1.主蓝图和子蓝图,在编辑的时候一定要注意
2.创建变量的时候,先选择变量类型,后面的小方块点击选择变量的数据结构,有字典,数组,set,single这个要注意,因为我找数组找了很长的时间,根本不知道那个小方块还能点击
3.最下面的是默认值添加,这个要注意默认值,然后资源的话,可以在graph界面中子啊添加一个content资源视图,这样方便
4.对于变量只有两个属性,get和set
5.蓝图的节点只分为执行引脚和其他引脚,带有执行引脚的节点理解为一个函数,该节点下的其他颜色的节点都是输入和输出,这点很重要
上面的这个图也是一个注意点,对于一个新手来说,本身查找节点就很难,还有很多名字都一样,所以,需要把联想关闭,然后就是查找的时候,注意一下函数重载,代码出身的对这个都应该敏感
大概就是这么多!!!我觉得写完这个计时器的功能,一只脚的脚趾头已经踏入了unreal的大门,接下来就不难了,起码找到了门,不再是苍蝇乱撞了!