本文就 UProperty是什么?以及UProperty怎么用?做一个简单的总结。

什么是UPROPERTY?

首先看下官方的解释:

 

 

感觉还是比较模糊没看懂有什么用,我们接着往下看

 

要知道UPROPERTY有什么用,我们首先要知道反射(Refection)这个机制。这个机制在Java和C#等语言都是存在的,但是C++语言本身没有,所以UE4才有引入一些功能(例如UPROPERTY)用来实现反射。

 

我们先看看其他语言中对于反射的定义是什么:

反射就是在运行状态中

1.对于任意一个类,都能够知道这个类的所有属性和方法;

2.对于任意一个对象,都能够调用它的任意一个属性和方法;

即可以动态的获取信息以及调用对象的方法称之为反射机制

 

所以在UE4中,当我们使用反射机制,就可以对于一个类(UClass),我们可以获得这个类的所有属性和方法,而对于一个类对象(UObject),我们可以调用它所拥有的方法和属性

反射C++代码是由Unreal Build Tool和Unreal Header Tool产生的,但由于我们本文不深入探讨UE4的反射机制原理,所以到这里我们只要知道反射机制是什么就可以了。

 

怎么使用UPROPERTY?

还是先来看看官方解释:

这里有一个重要的变量叫做属性说明符。他的作用官方说的很清楚,就是用来控制属性以及引擎的部分功能的。

那么有哪些属性说明符呢?我们可以在UE的官方文档中找到,如图红色框部分的就是属性说明符,链接给在图下了。

文档:Unreal Engine UProperty Specifiers | 虚幻引擎5.0文档

现在我们以及知道了UPROPERTY有什么用了,下面会给出几个代码的例子让我来更加清楚的了解它的功能。

 例子全部来自于 All UPROPERTY Specifiers · ben

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!