Version: 2021.3
언어: 한국어
파티클 시스템 GPU 인스턴싱
컴포넌트 및 모듈

파티클 시스템 C# 잡 시스템 통합

파티클 시스템은 Unity의 C# 잡 시스템을 사용하여 파티클에 커스텀 동작을 적용합니다.

Unity는 C# 잡 시스템의 작업을 워커 스레드에 배포하며, 버스트 컴파일러를 이용합니다. GetParticles()SetParticles() 메서드는 동일한 기능을 제공하지만, 메인 스레드에서 실행되고 Unity의 버스트 컴파일러를 사용하지 않습니다.

기본적으로 파티클 시스템 잡은 파티클 시스템에 속하는 하나 이상의 파티클에만 액세스합니다. Unity는 ParticleSystemJobData 구조체를 사용하여 이 데이터를 잡에 전달합니다. 잡이 추가 파라미터로 필요한 기타 데이터를 통과해야 합니다.

파티클 데이터에 액세스할 수 있도록 Unity는 다음의 잡 타입을 지원합니다.

IJobParticleSystem

이 잡 타입은 단일 워커 스레드에서 단일 잡을 실행합니다. 이 잡은 파티클 시스템에 속하는 모든 파티클에 액세스합니다. 이 잡 타입에 관한 예제 코드는 IJobParticleSystem.Execute() 스크립팅 레퍼런스를 참조하십시오.

[IJobParticleSystemParallelFor(../ScriptReference/ParticleSystemJobs.IJobParticleSystemParallelFor.html)

이 잡 타입은 다수의 워커 스레드에서 다수의 잡을 실행합니다. 각각의 잡은 해당 잡의 Execute() 함수로 지정된 인덱스에서 파티클에 액세스만 할 수 있습니다. 이 잡 타입에 대한 예시 코드는 IJobParticleSystemParallelFor.Execute() 스크립팅 레퍼런스를 참조하십시오.

[IJobParticleSystemParallelForBatch(../ScriptReference/ParticleSystemJobs.IJobParticleSystemParallelForBatch.html)

이 잡 타입은 다수의 워커 스레드에서 다수의 잡을 실행합니다. 각각의 잡은 해당 잡의 Execute() 함수로 지정된 범위 안에 있는 파티클에 액세스만 할 수 있습니다. 이 잡 타입에 대한 예시 코드는 IJobParticleSystemParallelForBatch.Execute() 스크립팅 레퍼런스를 참조하십시오.

버스트

다른 C# 잡과 마찬가지로 버스트 컴파일러를 사용하여 파티클 잡을 고도로 최적화된 버스트 잡으로 컴파일할 수 있습니다. 자세한 내용은 버스트 컴파일러 문서를 참조하십시오.

Unity 2019.3의 새로운 기능

파티클 시스템 GPU 인스턴싱
컴포넌트 및 모듈