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