시스템 스폰(System Spawn) 모듈은 생성된 시스템별로 한 번 발생합니다. 이 섹션의 모듈은 각 시스템의 초기값을 구성합니다. 모듈은 스택의 위에서 아래 순서로 실행됩니다.
이 문서에는 시스템 스폰 그룹의 각 모듈 타입별 섹션과 각 모듈이 기능하는 방식을 설명한 표가 나와 있습니다. 나이아가라 시스템 또는 이미터의 어떤 부분에든 커스텀 모듈을 생성할 수 있습니다. 여기에 나열된 모듈은 언리얼 엔진에 자동으로 포함되어 있는 모듈로 한정됩니다.
스포닝 모듈
모듈 | 설명 |
---|---|
즉시 스폰 버스트(Spawn Burst Instantaneous) | 이 모듈은 모든 이미터가 파티클 버스트를 즉시 스폰하도록 합니다. |
새 스크래치 패드 모듈
추가(Add) (더하기 기호) 메뉴에서 이 항목을 선택하면 시스템 개요(System Overview) 옆에 도킹되어 있는 스크래치 패드(Scratch Pad) 패널이 실행되어 스크래치 패드 모듈 이 선택(Selection) 패널에 배치됩니다. Windows > 스크래치 패드 를 사용하여 스크래치 패드 패널을 실행할 수도 있습니다. 하지만 스택에 스크래치 패드 모듈을 배치할 경우, 스크래치 패드에서 생성한 모든 모듈이나 동적 입력은 스크립트에 자동으로 연결됩니다. Windows 메뉴로 '스크래치 패드' 패널을 여는 경우, 생성하는 모든 아이템은 스크립트에 직접 추가해줘야 합니다.
신규 또는 기존 값 직접 설정
추가(Add) (더하기 기호 아이콘) 메뉴에서 이 항목을 선택하면 파라미터 설정(Set Parameter) 모듈이 선택(Selection) 패널에 배치됩니다. 더하기 기호 , 즉 + 모양 아이콘을 클릭하여 파라미터 추가(Add Parameter) 또는 새 파라미터 생성(Create New Parameter) 을 선택합니다. 선택할 수 있는 각 옵션은 아래 섹션에 나와 있습니다.
파라미터 추가
특정 파라미터 설정(Set Specific Parameter) 을 선택한 경우 나열된 파라미터 목록에서 선택합니다. 이렇게 하면 파라미터 설정(Set Parameter) 모듈이 시스템 스폰 그룹에 추가됩니다.
파라미터 | 설명 |
---|---|
System.Age | 명명된 시스템의 수명을 정의합니다. |
System.LoopedAge | 현재 루프와 관련된 시스템의 수명을 계산합니다. 예를 들어 시스템이 8 초 동안 활성화되어 있고 5 초마다 루프한다면, 시스템의 LoopedAge는 3 초가 됩니다. LoopedAge는 시스템이 루프할 때마다 0을 반환합니다. |
System.NormalizedLoopAge | 현재 루프와 관련된 시스템의 수명을 계산하며 0 에서 1 까지 정규화됩니다. NormalizedLoopAge는 CurrentLoopDuration 으로 나눈 LoopedAge 로 표시됩니다. 시스템이 8 초 동안 활성화되어 있고 5 초마다 루프한다면, 시스템의 LoopedAge는 3 초가 됩니다. 시스템의 NormalizedLoopAge는 0.6 이 됩니다. |
System.CurrentLoopDelay | 명명된 시스템의 현재 루프를 반복하기 전 현재 딜레이 양을 정의합니다. |
System.CurrentLoopDuration | 명명된 시스템의 루프 기간을 정의합니다. |
System.ExecutionState | 시스템의 상태에 영향을 줍니다. 다음의 유효한 값을 선택할 수 있습니다.
|
System.ExecutionStateSource | 실행 상태 세팅의 소스를 표시합니다. 엔진 퀄리티가 상태를 변경할 수 있게 해주지만, 해당 상태가 더 높은 우선 순위로 정의되지 않은 경우에만 사용됩니다. |
System.LocalSpace | 파티클의 위치 기준이 월드 원점인지, 자체 나이아가라 컴포넌트인지 정의합니다. 다음과 같은 세팅이 있습니다.
|
System.LoopCount | 시스템의 루프 반복 횟수를 정의합니다. |
System.ExecutionState | 시스템의 상태에 영향을 줍니다. 다음의 유효한 값을 선택할 수 있습니다.
|
System.ExecutionStateSource | ENiagaraExecutionStateSource 파라미터와 연결되는 변수로, 시스템 실행 상태 세팅의 소스를 표시합니다. 엔진 퀄리티가 상태를 변경할 수 있게 해주지만, 해당 상태가 더 높은 우선순위로 정의되지 않은 경우에만 사용됩니다. |
새 파라미터 생성
새 파라미터 생성 을 선택하면 나열된 파라미터 목록에서 선택하게 됩니다. 이렇게 하면 해당 파라미터가 시스템 스폰 그룹의 파라미터 설정(Set Parameter) 모듈에 추가됩니다.
파라미터 | 타입 | 설명 |
---|---|---|
오디오 오실로스코프(Audio Oscilloscope) | 데이터 인터페이스 | 이미터에 새로운 오디오 오실로스코프 데이터 인터페이스 모듈을 추가합니다. 오디오 오실로스코프 모듈은 오디오 신호의 웨이브폼 데이터에 직접 액세스할 수 있습니다. |
오디오 스펙트럼(Audio Spectrum) | 데이터 인터페이스 | 이미터에 새 오디오 스펙트럼 데이터 인터페이스 모듈을 추가합니다. 오디오 스펙트럼 모듈은 특정 주파수에서의 오디오 음량을 기반으로 시각화를 구동할 수 있습니다. |
부울(Bool) | 프리미티브 | true/false 체크 박스가 있는 변수 설정(Set Variable) 모듈을 추가합니다. |
카메라 쿼리(Camera Query) | 데이터 인터페이스 | 이미터에 새 카메라 쿼리 데이터 인터페이스 모듈을 추가합니다. 이 데이터 인터페이스는 카메라 위치, 회전, FOV 등과 같은 특정 컨트롤러 인덱스에 대한 카메라 정보를 얻는 데 사용할 수 있습니다. |
ENiagaraBooleanLogicOps | 열거형 | 다양한 모듈 및 동적 입력에 의해 사용되는 열거형으로서 다음과 같은 부울 로직을 사용하여 테스트합니다.
|
ENiagaraCoordinateSpace | 열거형 | 다양한 모듈 및 동적 입력에 의해 사용되는 열거형으로서 좌표 공간을 서로 구별합니다.
|
ENiagaraExecutionState | 열거형 | Emitter.ExecutionState 또는 System.ExecutionState 와 같은 시스템 또는 이미터 실행 상태를 관리하는 파라미터에서 사용합니다. |
ENiagaraExecutionStateSource | 열거형 | 실행 상태 세팅의 소스를 표시합니다. 엔진 퀄리티가 상태를 변경할 수 있게 해주지만, 해당 상태가 더 높은 우선순위로 정의되지 않은 경우에만 사용됩니다. |
ENiagaraExpansionMode | 열거형 | 위치 모듈에서 사용되는 열거형으로서 다음과 같은 확장의 원점을 확인합니다.
|
ENiagaraLegacyTrailMode | 열거형 | 너비 스케일 프로퍼티가 애니메이션 트레일에 영향을 주는 방식을 제어합니다. 캐스케이드에서 나이아가라로 전환 시 레거시 애님 트레일 지원에만 사용됩니다. |
ENiagaraOrientationAxis | 열거형 | 다양한 모듈에서 사용되는 열거형으로서 다음을 사용하여 계산할 축을 결정합니다.
|
ENiagaraRandomnessMode | 열거형 | 이 이미터에서 사용되는 랜덤 숫자 생성 타입을 설정합니다. 유효한 선택은 다음과 같습니다.
|
플로트(Float) | 프리미티브 | 플로트 값 변수를 생성합니다. |
그리드 2D 컬렉션(Grid 2D Collection) | 데이터 인터페이스 | 시뮬레이션 단계에서 사용됩니다. 사용자가 데이터의 2D 배열을 읽거나 쓴 후 시뮬레이션 단계에서 그리드의 각 픽셀을 반복작업할 수 있도록 합니다 . |
Int32 | 프리미티브 | 인티저 변수를 생성합니다. |
선형 컬러(Linear Color) | 프리미티브 | 색 선택 툴로 표시되는 RGBA 컬러 변수를 생성합니다. |
매트릭스(Matrix) | 프리미티브 | 4x4 매트릭스 변수를 생성합니다. |
메시 트라이앵글 좌표(Mesh Tri Coordinate) | 구조체 | 해당 트라이앵글 면의 중심 좌표와 함께 트라이앵글 인덱스가 포함된 단순한 구조체입니다. |
이웃 그리드 3D(Neighbor Grid 3D) | 데이터 인터페이스 | 시뮬레이션 단계에서 사용됩니다. 사용자가 데이터의 3D 배열을 읽거나 쓴 후 시뮬레이션 단계에서 볼륨의 각 픽셀을 반복작업할 수 있도록 해줍니다. |
나이아가라 ID(Niagara ID) | 구조체 | 파티클 트래킹에 쓰이는 구조체로서 두 부분으로 구성됩니다. 이 파티클의 데이터에 빠르게 액세스할 수 있게 해줍니다. 현재 살아있는 파티클에서는 항상 고유하지만, 파티클이 소멸한 후에는 재사용됩니다. AcquireTag 는 이 ID의 획득 시간을 나타내는 고유 태그입니다. 이를 통해 특정 파티클이 소멸하고 다른 파티클이 소멸한 파티클의 인덱스를 재사용할 때 각 파티클을 구별할 수 있습니다. |
오클루전 쿼리(Occlusion Query) | 데이터 인터페이스 | 이미터에 새 오클루전 쿼리 데이터 인터페이스 모듈을 추가합니다. 이 데이터 인터페이스는 뎁스 버퍼 오클루전 정보를 읽는 데 사용됩니다. |
쿼트(Quat) | 프리미티브 | 회전을 나타내는 데 사용되는 쿼터니언 변수를 생성합니다. |
단순 카운터(Simple Counter) | 데이터 인터페이스 | 이미터에 새 단순 카운터 데이터 인터페이스 모듈을 추가합니다. 이 데이터 인터페이스를 사용하여 스레드 세이프 카운터를 증가시킬 수 있습니다. |
파티클 어트리뷰트 리더(Particle Attribute Reader) | 데이터 인터페이스 | 이미터에 새 파티클 어트리뷰트 리더 데이터 인터페이스를 추가합니다. 데이터 인터페이스는 다른 이미터에서 파티클 페이로드 값을 쿼리하는 데 사용할 수 있으며, 이벤트보다 더 사용하기 쉬운 경우도 있습니다. |
스폰 정보(Spawn Info) | 구조체 | 스폰에 사용되는 구조체로서, 생성할 파티클의 수(Count), 스폰을 시작할 현재 프레임 시작 시간의 InterpStartDt 또는 오프셋, 스폰 중인 파티클 간의 시간 차를 정의하는 IntervalDt, 스폰된 파티클이 다른 카테고리에 속할 수 있도록 하는 SpawnGroup 을 지정합니다. |
벡터(Vector) | 프리미티브 | 3채널 플로트 세트를 생성합니다. |
벡터 2D(Vector 2D) | 프리미티브 | 2채널 플로트 세트를 생성합니다. |
벡터 4(Vector 4) | 프리미티브 | 4채널 플로트 세트를 생성합니다. |
벡터 필드(Vector Field) | 데이터 인터페이스 | 벡터 필드를 쿼리할 수 있는 함수가 포함된 데이터 인터페이스입니다. |
볼륨 텍스처 샘플(Volume Texture Sample) | 데이터 인터페이스 | 이미터에 새 볼륨 텍스처 데이터 인터페이스 모듈을 추가합니다. 이를 사용하여 볼륨 텍스처를 샘플링할 수 있습니다. |