【游戏编程扯淡精粹】UE5 蓝图

【游戏编程扯淡精粹】UE5 蓝图

最近新学蓝图编程。。还没看蓝图VM代码,有些点不保证准确

本文主要是从使用角度,分析你为什么需要学习蓝图,蓝图适合做什么,不适合做什么

最后 Bonus,跟一下 Blueprint Pipeline,梳理一下蓝图的知识结构

在这里插入图片描述

大纲

  • 蓝图是什么
  • 蓝图对非程序
  • 蓝图对程序
  • 蓝图适合用于
  • 蓝图不适合用于
  • 蓝图管线
  • 蓝图版本管理
  • 蓝图迁移 Lua

蓝图是什么

Blueprint - Wikipedia
蓝图(英语:Blueprint),港澳地区又称“蓝本”或“蓝纸”,是工程制图的原图经过描图、晒图和薰图后生成的复制品,因为图纸是蓝色的,所以被称为“蓝图”。蓝图类似照相用的相纸,可以反复复制新图,而且易于保存,不会模糊,不会掉色,不易玷污。

蓝图这个词的本义很接近 Prefab,预制体,蓝图描述一个东西的结构和行为,可以多次拷贝,实例化为具体的实体 Entity

UE 蓝图是一种资源,把引擎暴功能以可视化脚本的形式暴露出来

另外,UE3 时代的可视化脚本叫做 Kismet

蓝图实现原理

实现原理,基本综合了常见脚本方案的做法

  1. Lua,一般的脚本语言一样,跑解释器执行
  2. IL2Cpp,编译到C++
  3. GDScript,和引擎内核紧密结合

说下第三点,主要是和 Lua 有区别

Lua 是通用的,有自己的对象模型,但是接入每个引擎,都需要做一个类型映射,记录额外的类型信息,这是有开销的,想一想各种 SDK 的 XXXVector3 类

蓝图是直接在 UE 内核上实现的,因此只能 UE 用,没有类型映射的开销

如果需要 UE 蓝图编辑,在自家引擎跑,就需要实现一个 Compiler,把蓝图翻译成自己引擎的格式,工作量和坑不小

蓝图对非程序

脚本对非程序的游戏开发技能提升是有积极意义的

脚本本质是把 Compiler 和 Linker 集成到 Engine Runtime,这样只要下载游戏就可以编程了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值