版本: Unity 6 (6000.0)
语言英语
  • C#

MonoBehaviour.OnParticleUpdateJobScheduled()

建议修改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提出的每项更改建议,并在必要时进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

切换到手册

描述

当粒子系统的内置更新作业被调度时,将调用 OnParticleUpdateJobScheduled。

这可以用于附加自定义托管作业,以便在默认粒子更新后运行。

using UnityEngine;
using UnityEngine.ParticleSystemJobs;

public class JobScript : MonoBehaviour { void OnParticleUpdateJobScheduled() { ParticleSystem ps = GetComponent<ParticleSystem>(); new UpdateParticlesJob { m_DeltaTime = Time.deltaTime }.Schedule(ps); }

struct UpdateParticlesJob : IJobParticleSystem { public float m_DeltaTime;

public void Execute(ParticleSystemJobData particles) { var positionsY = particles.positions.x;

for (int i = 0; i < particles.count; i++) { positionsY[i] += 3.0f * m_DeltaTime; } } } }

为了检索有关 ParticleSystem 引起的碰撞的所有详细信息,必须使用 ParticlePhysicsExtensions.GetTriggerParticles 来检索 Particle 的数组。