(转载)虚幻引擎3–UE3之UClass

UE3并不是真的支持反射, UE3支持的仅仅是通过宏来生成的运行时类型检测

  在UE3, UObjectUE3中最底层的基类所有要与脚本交互的类以及需要序列化的类都要继承它而来. UClass也是UObject的子类. UObject的功能包括 对象的实例化对象的序列化以及反序列化脚本的解析与执行垃圾回收.

  UE3C++代码与Unreal Script代码共存对于所有的Unreal Script都有对应的UClass与之对应脚本是通过对UClass中的字节码进行解释并挨个调用对应C++的代码来执行的UObject中所有exec打头的函数都是用于与脚本交互的其功能包括脚本字节码的语法解释和操作(if, +, -), 脚本内置函数等. UObject本身作为Unreal SciptVirtual Machine来解释执行UC脚本字节码.

UE3UClass有两层含义

1. 对应Unreal Script中的类型所有UC脚本都会有对应的UClass对象这个UClass包含了此类型的信息如函数变量状态等信息以及UC最终编译后的字节码.这个对象作为Static Class被所有实例化(Native Class)的对象所共享在构造具体类型Class的实例化对象时类型通过XXX::StaticClass来获取.
2. 用于运行时类型检测代表实例对象的类型这项功能可用于脚本导出类以及C++端类共同使用. 

关于Unreal Script的实现以及执行过程详细文档可参阅

https://udn.epicgames.com/Three/UnrealScriptImplementation
https://udn.epicgames.com/Three/UnrealScriptCompileProcess
https://udn.epicgames.com/Three/UnrealScriptExecution
https://udn.epicgames.com/Three/UnrealScriptByteCode

 

原文地址:http://www.cnblogs.com/flycodes/archive/2012/10/15/2724536.html

原文链接: https://www.cnblogs.com/wodehao0808/p/6163673.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    (转载)虚幻引擎3--UE3之UClass

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/245662

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午12:59
下一篇 2023年2月14日 上午12:59

相关推荐