一个 粒子系统一个组件,通过在场景中生成和动画大量的小型 2D 图像来模拟流体实体,例如液体、云和火焰。 更多信息
参见 术语表 可以使用 Unity 的 C# Job System 来对粒子应用自定义行为。
Unity 将工作从 C# Job System 分发到工作线程,并且可以利用 Burst 编译器。 GetParticles() 和 SetParticles() 方法提供了类似的功能,但运行在主线程上,无法利用 Unity 的 Burst 编译器。
默认情况下,粒子系统作业只能访问属于该粒子系统的部分或所有粒子。Unity 使用 ParticleSystemJobData 结构体将此数据传递给作业。您必须将作业所需的任何其他数据作为附加参数传递。
为了访问粒子数据,Unity 支持以下作业类型
此作业类型在一个工作线程上执行单个作业。该作业可以访问属于粒子系统的每个粒子。有关此作业类型的示例代码,请参阅 IJobParticleSystem.Execute() 脚本参考。
此作业类型在多个工作线程上执行多个作业。每个作业只能访问作业的 Execute() 函数指定的索引处的粒子。有关此作业类型的示例代码,请参阅 IJobParticleSystemParallelFor.Execute() 脚本参考。
此作业类型在多个工作线程上执行多个作业。每个作业只能访问作业的 Execute() 函数指定的范围内的粒子。有关此作业类型的示例代码,请参阅 IJobParticleSystemParallelForBatch.Execute() 脚本参考。
与任何其他 C# 作业一样,您可以使用 Burst 编译器将粒子作业编译成高度优化的 Burst 作业。有关更多信息,请参阅 Burst 编译器文档。
Unity 2019.3 中的新功能