当前位置: 首页 > news >正文

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的大门,接下来就不难了,起码找到了门,不再是苍蝇乱撞了!

相关文章:

  • leetcode--两数之和 三数之和
  • 121.在 Vue3 中使用 OpenLayers 实现去掉鼠标右键默认菜单并显示 Feature 信息
  • 通信与推理的协同冲突与架构解耦路径
  • Java 中 XML 处理工具类详解
  • Scribe: 一个非常方便的操作文档编写工具
  • Linux file 命令详解
  • L1-7、Prompt 的“调试技巧”
  • 文件操作和IO(上)
  • L1-6、Prompt 与上下文的关系[特殊字符]
  • metasploit(2)生成dll木马
  • 基于 Spring Boot实现的图书管理系统
  • 龙虎榜——20250422
  • PyTorch与自然语言处理:从零构建基于LSTM的词性标注器
  • JavaScript的JSON处理Map的弊端
  • Spring Boot 应用优雅关闭
  • FLV 与 MP4 格式深度剖析:结构、原理
  • 【前端】【业务场景】【面试】在网页开发中,如何优化图片以提高页面加载速度?解决不同设备屏幕适配问题
  • 进阶篇 1:超越基准 - 指数平滑 (ETS) 模型详解
  • http通信之axios vs fecth该如何选择?
  • kubernetes》》k8s》》删除命名空间
  • 中国专家组赴缅开展地震灾害评估工作
  • 今年一季度上海离境退税商品销售额7.6亿元,同比增85%
  • 沂水县委书记陈士贤,跨市履新泰安市委常委、组织部部长
  • 吉林省委原书记、吉林省人大常委会原主任何竹康逝世
  • 言短意长|大学校门到底应不应该开放?
  • 什么是中国好手艺?材美、工巧、器韵、时宜