ue4 点击某一物体触发事件_UE4蓝图解析(二)

本文深入解析UE4蓝图虚拟机的工作原理,探讨蓝图和C++函数的交互,包括字节码的生成与执行,以及蓝图事件的触发。文章通过C++调用蓝图函数和蓝图调用C++函数的实例,详细阐述了虚拟机如何解释执行字节码,执行流程涉及FFrame、Step()方法和ExecuteUbergraph函数。
摘要由CSDN通过智能技术生成

v2-958e86ca0ed97045323e6208e8f842fd_1440w.jpg?source=172ae18b

解析系列文章的第二部分,将介绍蓝图虚拟机,以及蓝图和C++函数相互调用

相关索引:

南京周润发:UE4蓝图解析(一)​zhuanlan.zhihu.com
v2-958e86ca0ed97045323e6208e8f842fd_180x120.jpg
南京周润发:UE4蓝图解析(三)​zhuanlan.zhihu.com
v2-958e86ca0ed97045323e6208e8f842fd_180x120.jpg
南京周润发:UE4蓝图解析(四)​zhuanlan.zhihu.com
v2-958e86ca0ed97045323e6208e8f842fd_180x120.jpg

蓝图虚拟机

字节码

蓝图在编译后会生成对应字节码,引擎运行时会读取字节码,并交由蓝图虚拟机动态解释执行。

UE4也支持在打包时直接把蓝图转换为C++代码,这样运行时就省去了字节码解释执行的步骤,效率更高。但是目前自动生成的C++代码与我们自己写的有些差异,其行数会特别多,执行流程都用switch-case进行实现,因此执行效率会稍低些,而且可读性会很差。在此我们先介绍正常使用虚拟机解释执行字节码的流程。

虚拟机的字节码为EExprToken枚举,在Script.h文件中定义。一些指令如下:

enum EExprToken
{
	// Variable references.
	EX_LocalVariable	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值