업데이트
메뉴 경로: Context > Update Particle
Update 컨텍스트는 특정 시스템에 대한 초기화된 파티클 또는 파티클 스트립을 처리합니다.
비주얼 이펙트 그래프는 씬에 있는 효과의 컬링 상태와 비주얼 이펙트 그래프 에셋에 지정된 컬링 플래그에 따라 프레임마다 이 컨텍스트를 실행합니다. 각 Update 컨텍스트는 포함된 블록을 실행하고, 특정 조건에서 추가 암시적 동작을 처리할 수 있습니다. 암시적 동작에 대한 자세한 내용은 세부 정보 섹션을 참조하십시오.
컨텍스트 설정
설정 | 타입 | 설명 |
---|---|---|
Space | 열거형 | (인스펙터) 이 시스템의 시뮬레이션 공간입니다. 옵션은 다음과 같습니다. • Local: 시스템이 로컬 공간에서 시뮬레이션합니다. • World: 시스템이 월드 공간에서 시뮬레이션합니다. |
Update Position | 부울 | (인스펙터) 속도에 따라 파티클 포지션을 업데이트할지 여부를 지정합니다. |
Update Rotation | 부울 | (인스펙터) 파티클 회전에 암시적 각속도를 적용할지 여부를 지정합니다. |
Age Particles | 부울 | (인스펙터) 파티클을 자동으로 노화시킬지 여부를 지정합니다. |
Reap Particles | 부울 | (인스펙터) 파티클을 자동으로 제거할지 여부를 지정합니다. 활성화하면 파티클의 연령이 수명을 초과할 경우 이 컨텍스트가 그러한 파티클을 시뮬레이션에서 제거합니다. |
플로
포트 | 설명 |
---|---|
입력 | Initialize 컨텍스트에서의 연결입니다. |
Output | Update (Single) 또는 Output (Single/Multiple) 컨텍스트로의 연결입니다. |
세부 정보
암시적 동작
시스템에 있는 속성에 따라 이 컨텍스트는 암시적으로 추가 동작을 수행합니다.
Velocity Integration: Velocity 속성이 시스템에 있는 경우 이 컨텍스트는
position += velocity * deltaTime
방정식을 사용하여 오일러 속도 통합을 수행합니다. 그러면 속도에 따라 파티클이 움직입니다. 속도 통합 전에 이 컨텍스트는 position 속성을 oldPosition 속성으로 백업합니다.Angular Velocity Integration: AngularVelocity 속성이 시스템에 있는 경우 이 컨텍스트는
angle.xyz += angularVelocity.xyz * deltaTime
방정식을 사용하여 오일러 각속도 통합을 수행합니다. 그러면 각속도에 따라 파티클이 회전합니다.Aging: Age 속성이 시스템에 있는 경우 이 컨텍스트는
age += deltaTime
방정식을 사용하여 파티클을 자동으로 노화시킵니다.Reaping: Age 및 Lifetime 속성이 둘 다 시스템에 있는 경우 파티클의 수명이 연령을 초과하면 이 컨텍스트는
alive = (age <= lifetime)
방정식을 사용하여 파티클을 죽입니다(Alive 속성을 false로 설정).
모든 암시적 동작은 기본적으로 활성화되어 있으며, 컨텍스트의 인스펙터에서 비활성화할 수 있습니다.
모든 암시적 동작은 모든 Update 컨텍스트의 블록이 실행된 후에 발생합니다.
업데이트 타이밍
비주얼 이펙트 그래프는 비주얼 이펙트 그래프 에셋에 설정된 [업데이트 모드](<https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@latest/index.html?subfolder=/manual/VisualEffectGraphAsset.html%23creating-visual-effect-graph-assets)에 따라 프레임마다 이 컨텍스트를 실행합니다.
Delta Time 모드에서 업데이트는 프레임의 델타 시간을 사용하며 프레임마다 한 번씩 수행됩니다. 이 모드에서 델타 시간은 가변적이며, 프레임 속도의 변화는 시뮬레이션에 큰 영향을 미칩니다.
Fixed Delta Time 모드에서 업데이트는 고정 델타 시간 값을 사용하거나, 또는 프레임이 아직 업데이트할 필요가 없는 경우 0 델타 시간 값을 사용합니다. 이 모드에서 시뮬레이션은 시뮬레이션 품질에 덜 영향을 미치는 고정 속도로 수행됩니다. 하지만 이 모드에서 deltaTime은 때때로 0과 같을 수 있으며, 결과적으로 oldPosition은 0-deltaTime 업데이트 이후 프레임의 포지션과 같을 수 있습니다.