표준 속성
다음은 일반적으로 사용되는 모든 속성의 포괄적인 리스트이며, 간략한 설명과 사용 방법을 함께 제공합니다.
기본 시뮬레이션 속성
시뮬레이션 속성은 파티클 또는 파티클 트레일과 같은 시뮬레이트된 요소에 동작을 적용하기 위해 Initialize 및 Update 컨텍스트가 처리하는 속성입니다.
이름 | Type | 설명 | 기본값 |
---|---|---|---|
position |
Vector3 | 해당 시스템 공간으로 표현되는 시뮬레이션된 요소의 포지션(시스템 단위)입니다. | (0,0,0) |
velocity |
Vector3 | 해당 시스템 공간에서 3D 벡터로 표현되는 시뮬레이션된 요소의 현재 자체 속도(시스템 단위/초)입니다. | (0,0,0) |
age |
float | 생성 이후 시뮬레이션된 요소의 연령(초 단위)입니다. | 0.0 |
lifetime |
float | 시뮬레이션된 요소의 기대 수명(초 단위)입니다. | 0.0 |
alive |
bool | 시뮬레이션된 요소가 살아 있는지 여부입니다. | true |
size |
float | 시뮬레이션된 요소의 크기(시스템 단위)입니다. | 0.1 |
고급 시뮬레이션 속성
일부 고급 속성은 기본적으로 대부분의 시뮬레이션에서 사용됩니다. 하지만 동작을 향상하기 위해 이러한 속성을 변경할 수도 있습니다.
이름 | Type | 설명 | 기본값 |
---|---|---|---|
mass |
float | 파티클의 질량(Kg/dm^3)입니다. | 1.0(물 1리터당 1kg로 기본 설정됨) |
angle |
Vector3 | Variadic: 시뮬레이션된 요소의 오일러 회전(각도 값의 벡터로 표현)입니다. | (0,0,0) |
angularVelocity |
Vector3 | Variadic: 시뮬레이션된 요소의 오일러 회전 속도(초당 각도 값의 벡터로 표현)입니다. | (0,0,0) |
oldPosition |
Vector3 | Deprecated: 이 속성은 속도를 통합하기 전에 시뮬레이션된 요소의 현재 포지션을 백업하려는 경우에 사용되는 스토리지 도우미입니다. | (0,0,0) |
targetPosition |
Vector3 | 이 속성은 용도가 다양합니다. 도달할 포지션을 저장하려는 경우 스토리지 도우미가 될 수 있으며, 이 타겟 포지션에 도달하기 위한 벡터를 계산할 수 있습니다. 또한 이 속성은 라인 렌더러에서 각 라인 파티클의 끝을 설정하는 데에도 사용됩니다. | (0,0,0) |
렌더링 속성
렌더링 속성은 시뮬레이션에서는 주로 사용되지 않지만, 대신에 시뮬레이션된 요소를 렌더링할 때 유용합니다.
이름 | Type | 설명 | 기본값 |
---|---|---|---|
color |
Vector3 | 렌더링된 요소의 R, G 및 B 컴포넌트입니다. | 1,1,1 |
alpha |
float | 렌더링된 요소의 알파 컴포넌트입니다. | 1 |
size |
float | 렌더링된 요소의 균일 크기(시스템 단위)입니다. 단위 표현에 적용됩니다. | 0.1 |
scale |
Vector3 | 렌더링된 요소의 비균일 스케일 멀티플라이어입니다. 단위 표현에 적용됩니다. | (1,1,1) |
pivot |
Vector3 | 렌더링된 요소의 원점 포지션(해당 단위 표현)입니다. | (0,0,0) |
texIndex |
float | 렌더링된 요소에 대한 플립북 UV 샘플링에 사용되는 애니메이션 프레임입니다. | 0.0 |
axisX |
Vector3 | 렌더링된 요소의 계산된 오른쪽 축입니다. | (1,0,0) |
axisY |
Vector3 | 렌더링된 요소의 계산된 위쪽 축입니다. | (0,1,0) |
axisZ |
Vector3 | 렌더링된 요소의 계산된 전방 축입니다. | (0,0,1) |
시스템 속성
시스템 값에 대한 정보를 얻기 위해 일부 기타 속성을 사용할 수 있습니다. 이러한 속성은 읽기 전용이며, Get <Attribute>
연산자를 사용해야만 읽을 수 있습니다.
이름 | Type | 설명 | 기본값 |
---|---|---|---|
particleID |
uint | 1개의 파티클을 참조하는 고유 ID입니다. | 0 |
seed |
uint | 난수 계산에 사용되는 고유한 시드입니다. | 0 |
spawnCount |
uint | Spawn 컨텍스트에서 소스 속성으로 사용할 수 있는 SpawnEvent 속성은 이 프레임에서 생성된 파티클 수를 알려줍니다. | (0,0,0) |
spawnTime |
float | Spawn 컨텍스트에서 소스 속성으로 사용할 수 있는 SpawnEvent 속성으로, Spawn 컨텍스트 내부 시간을 포함하고 있습니다(Set Spawn Time 생성 블록을 사용하여 익스포트한 경우). | 0.0 |
particleIndexInStrip |
uint | 이 요소가 위치한 파티클 스트립 링 버퍼의 인덱스입니다. | 0 |
속성 사용 및 암시적 동작
일부 속성 조합은 시뮬레이션 및 렌더링 동안 다양한 암시적 상황에서 사용됩니다. 다음은 사용 방법 리스트와 해당 관계에 대한 설명입니다.
속도 및 포지션: 통합
업데이트 시뮬레이션 동안: velocity
속성을 사용하는 모든 시스템은 프레임마다 속도를 포지션에 통합합니다.
속도 통합은 기본적으로 position += velocity * deltaTime
수식을 사용합니다.
자동 속도 통합은 Update 컨텍스트를 선택한 후 Integration 열거형을 None으로 설정하여 비활성화할 수 있습니다.
연령, 수명, 생존
Initialize 컨텍스트에서 수명 속성을 파티클로 설정하면 Update 컨텍스트에 다음 동작이 암시적으로 추가됩니다.
- 파티클은
age += deltaTime
수식을 사용하여 노화됩니다. - 파티클은
alive = (age < lifeTime)
수식을 사용하여 제거(reap)됩니다.
자동 파티클 노화는 Update 컨텍스트를 선택한 후 Age Particles 값을 False로 설정하여 비활성화할 수 있습니다.
자동 파티클 제거는 Update 컨텍스트를 선택한 후 Reap Particles 값을 False로 설정하여 비활성화할 수 있습니다.
불멸 파티클: 수명이 없는 파티클은 불멸로 간주됩니다.
alive
속성을false
로 설정하여 명시적으로 죽일 수 있습니다.
각도와 각속도: 각도 통합
업데이트 시뮬레이션 동안: angularVelocity
속성을 사용하는 모든 시스템은 프레임마다 각속도를 각도에 통합합니다.
각속도 통합은 기본적으로 angle += angularVelocity * deltaTime
수식을 사용합니다.
자동 속도 통합은 Update 컨텍스트를 선택한 후 Angular Integration 열거형을 None으로 설정하여 비활성화할 수 있습니다.
AxisX, AxisY, AxisZ
이 세 가지 속성은 단위 표현 3D 좌표계를 정의합니다. 이러한 축은 정규화가 예상되지만, 세 축 모두에 정규화되지 않은 길이와 직각이 아닌 각도를 사용할 수 있습니다.
대개의 경우 이러한 축은 Orient Block을 사용하여 설정됩니다(Output 컨텍스트만 해당).
크기, 스케일, 피벗
시뮬레이트된 요소에 스케일링 및 회전을 적용하기 위해 비주얼 이펙트 그래프는 다음의 세 가지 속성을 사용합니다.
size
(float): 파티클의 균일한 크기입니다.scale
(Vector3): 파티클의 축당 크기입니다.pivot
(Vector3): 단위 표현에서 피벗 포지션입니다.
파티클의 피벗은 크기가 1인 단위 상자에서 계산됩니다(단위 표현). 기본적으로 상자의 중심인 (0,0,0)입니다. 값을 변경하여 상자의 중심을 조정할 수 있습니다. 모든 면은 각 축에서 -0.5 또는 0.5에 위치합니다.
피벗 표현은 뎁스에 Z축을 사용하여 3D로 일반화할 수도 있습니다.
Camera Facing을 사용하여 사각형 파티클에 Z컴포넌트를 사용하면 요소를 카메라 포지션 또는 평면 쪽으로 당기거나 밀어서 실제 포지션보다 더 앞이나 뒤에 표시합니다.
파티클의 스케일링은 단위 표현 상자에 두 개의 멀티플라이어를 적용합니다.
- 균일
size
- 비균일
scale
이 두 가지 속성 중 하나를 사용하여 균일 또는 비균일 스케일링을 독립적으로 수행할 수 있습니다. 예를 들어 스케일을 사용하여 초기 무작위 스케일을 계산하고, 크기 속성을 사용하여 비율을 유지한 채로 모든 요소를 애니메이션화할 수 있습니다.