美文网首页Unreal 技术笔记
Unreal 源码阅读(6)AEmitter

Unreal 源码阅读(6)AEmitter

作者: 子夜书案 | 来源:发表于2019-08-08 19:09 被阅读0次

在使用了Significance Manager之后,想在Particles System系统中使用这个特性。要使用它,必须先了解它,我们今天来看看Engine\Source\Runtime\Engine\Private\Particles\Emitter.cpp和Engine\Source\Runtime\Engine\Classes\Particles\Emitter.h的源码。

Emitter.h的源码

在看之前,我们先把#define的一些细节过一下,要不然我们不能很好的明白这个里面的一些定义,我写了如下的测试用例:

define的测试用例 输出

上面的B展开之后是这个样子的:

展开后

__LINE__ 及 __FILE__ 是宏指示,#line指令可以改变它的值,简单的讲,编译时,它们包含程序的当前行数和文件名。

有了这些知识,我们再来看上面的宏定义:

DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams源码

相关联的代码有:

相关联的宏定义

根据我们之前学的知识点,我们可以得出展开成这样:

展开后的代码

这是什么意思呢?是实现了一个名为FParticleSpawnSignature的4参数delegate。其中有个explicit关键词,explicit的作用是可以避免不合时宜的类型变换,这里有详细实验和说明

后面的几个宏定义也是差不多的意思,就不展开讲了,这个类本身也没有什么太多可以说的地方,它基本上就是一个包装类,里面实际起作用的是ParticleSystemComponent

初始化

后面看机会,我再来把ParticleSystemComponent这个类来看看。

相关文章

网友评论

    本文标题:Unreal 源码阅读(6)AEmitter

    本文链接:https://www.haomeiwen.com/subject/ptztjctx.html