이 페이지에는 언리얼 엔진 5 의 피직스 필드 시스템(Physics Field System) 에 대한 레퍼런스 정보가 포함되어 있습니다.
카오스 파티클(Chaos Particle)은 위치, 속도, 질량 등 다양한 프로퍼티가 있는 공간의 한 지점으로 카오스 피직스 솔버(Chaos Physics Solver)의 영향을 받을 수 있습니다. 카오스 파티클에는 방향, 각 속도, 관성, 지오메트리와 같은 추가 프로퍼티도 있습니다.
피직스 필드 시스템에는 크게 세 가지의 주요 필드 타입이 있습니다.
필드 타입 목록
| 필드 유형 | 설명 |
|---|---|
| 트랜션트 필드(Transient Field) | 함수 또는 이벤트 호출 중에 런타임에서 생성되거나, 실행되거나, 파괴되는 필드입니다. 트랜션트 필드는 필드 볼륨과 겹치는 리지드 바디에 외부 스트레인이나 선형 속도를 적용하는 등 피직스 시뮬레이션에 일시적 이펙트를 추가하는 데 사용됩니다. |
| 컨스트럭션 필드(Construction Field) | 블루프린트의 컨스트럭션 스크립트에서 생성되며, 각 컴파일 후 필드를 저장합니다. 대표적인 컨스트럭션 필드의 예로는 지오메트리 컬렉션의 프랙처 조각을 제자리에 고정하는 데 사용되는 앵커 필드(Anchor Field)가 있습니다. RemoveConstructionFields 노드로 컴포넌트의 모든 컨스트럭션 필드를 제거할 수 있습니다. |
| 퍼시스턴트 필드(Persistent Field) | 한번 생성되면 명시적으로 제거될 때까지 활성화 상태를 유지하는 필드입니다. 퍼시스턴트 필드는 피직스 시뮬레이션의 틱마다 평가됩니다. 대표적인 예로는 필드 볼륨과 겹치는 지오메트리 컬렉션의 프랙처 조각을 비활성화하는 데 사용되는 비활성화 필드(Disable Field)가 있습니다. RemovePersistentFields 노드로 컴포넌트의 모든 퍼시스턴트 필드를 제거할 수 있습니다. |
각 필드 타입은 겹치는 카오스 파티클에 대한 선형 포스(Linear Force), 외부 스트레인(External Strain), 비활성화 한계치(Disabled Threshold) 등 구체적 피직스 타입 에 적용됩니다. 각 피직스 타입은 인티저(Integer), 스칼라(Scalar) 또는 벡터(Vector)로 분류됩니다.
필드 피직스 타입 목록
| 타입 | 피직스 타입 | 설명 |
|---|---|---|
| 인티저(Integer) | 다이내믹 상태(Dynamic State) | 카오스 파티클의 상태를 스태틱(Static), 다이내믹, 키네마틱(Kinematic), 슬리핑(sleeping)으로 설정합니다. |
| 비활성화 파티클 활성화(Activate Disabled) | 필드 값이 0이 될 비활성화된 카오스 파티클을 전부 활성화합니다. | |
| 콜리전 그룹(Collision Group) | 카오스 파티클 콜리전 그룹을 설정합니다. | |
| 스칼라(Scalar) | 외부 스트레인(External Strain) | 카오스 파티클에 외부 스트레인을 적용합니다. 외부 스트레인이 내부 스트레인보다 크면 지오메트리 컬렉션 클러스터가 깨집니다. |
| 내부 스트레인(Internal Strain) | 카오스 파티클에 내부 스트레인 필드를 추가합니다. | |
| 비활성화 한계치(Disabled Threshold) | 선형 속도나 각 속도가 지정된 한계치보다 낮으면 카오스 파티클을 비활성화합니다. | |
| 슬리핑 한계치(Sleeping Threshold) | 선형 속도나 각 속도가 지정된 한계치보다 낮으면 카오스 파티클을 슬립 모드로 설정합니다. | |
| 파티클 킬(Kill Particles) | 필드 평가의 결과 값이 0보다 큰 카오스 파티클을 비활성화합니다. 해당하는 파티클은 즉시 비활성화됩니다. | |
| 벡터 | Linear Force | 카오스 파티클의 현재 선형 포스에 벡터 필드를 추가합니다. |
| 선형 속도 | 카오스 파티클의 현재 선형 속도에 벡터 필드를 추가합니다. | |
| 각 속도 | 카오스 파티클의 현재 각 속도에 벡터 필드를 추가합니다. | |
| Angular Torque | 카오스 파티클의 현재 각 토크에 벡터 필드를 추가합니다. |
필드는 평가 방식에 관한 자세한 정보를 추가하기 위해 여러 타입의 메타 데이터 를 사용할 수 있습니다.
필드에 사용할 수 있는 메타 데이터 목록
| 타입 | 이름 | 설명 |
|---|---|---|
| 상태(State) | 다이내믹(Dynamic) | 피직스 시뮬레이션을 바탕으로 움직이는 카오스 파티클을 필터링합니다. |
| 키네마틱(Kinematic) | 움직이지만 피직스 시뮬레이션에 의해 구동되지 않는 카오스 파티클을 필터링합니다. 대표적인 예로는 애니메이션을 통한 카오스 파티클의 이동이 있습니다. | |
| 스태틱(Static) | 현재 움직이지 않으며 피직스 시뮬레이션의 힘을 받을 수 없는 카오스 파티클을 필터링합니다. | |
| 슬리핑(Sleeping) | 현재 슬리핑 상태이며 재활성화 대기 중인 카오스 파티클을 필터링합니다. | |
| 비활성화(Disabled) | 현재 비활성화된 카오스 파티클을 필터링합니다. | |
| 전체(All) | 상태와 관계없이 카오스 솔버의 모든 카오스 파티클을 필터링합니다. | |
| 오브젝트(Object) | 리지드(Rigid) | 모든 피직스 리지드 오브젝트에 필드를 적용합니다. |
| 클로스(Cloth) | 모든 클로스 오브젝트에 필드를 적용합니다. | |
| 디스트럭션(Destruction) | 모든 지오메트리 컬렉션에 필드를 적용합니다. | |
| 캐릭터(Character) | 모든 리지드 바디 애니메이션 노드에 필드를 적용합니다. | |
| 모두(All) | 모든 카오스 오브젝트에 필드를 적용합니다. | |
| 위치(Position) | 질량 중심(Center of Mass) | 리지드 오브젝트의 질량 중심에서 필드가 평가됩니다. |
| 피벗 포인트(Pivot Point) | 리지드 오브젝트의 피벗 포인트에서 필드가 평가됩니다. | |
| 해상도(Resolution) | 최소(Minimum) | 현재 활성화된 카오스 파티클을 필터링합니다. |
| 부모(Parents) | 모든 최상위 부모의 클러스터 카오스 파티클을 필터링합니다. | |
| 최대(Maximum) | 활성화 및 비활성화된 카오스 파티클을 필터링합니다. |
각 필드는 피직스 필드(Physics Field) 노드의 필드 노드(Field Node) 핀에 연결된 블루프린트 그래프로 정의됩니다. 이 그래프는 필드의 범위와 프로퍼티를 정의합니다.
블루프린트 그래프는 필드 시스템 컴포넌트(Field System Component)의 자손 컴포넌트로 추가되는 필드 노드 로 구성됩니다.
필드 노드 목록
| 필드 타입 | 이름 | 설명 |
|---|---|---|
| 인티저(Integer) | 균등 인티저(Uniform Integer) | 샘플 위치와 관계없이 균등 인티저값을 설정합니다. 출력은 세기와 같습니다. |
| 방사상 인티저 마스크(Radial Int Mask) | 필드 위치로부터의 샘플 거리가 반경보다 작거나 크면 인테리어나 익스테리어 값을 중간 결과로 설정합니다. 최종 출력값은 마스크 조건(Mask Condition)을 바탕으로 중간값의 영향을 받습니다. | |
| 스칼라(Scalar) | 균등 스칼라(Uniform Scalar) | 샘플 위치와 관계없이 균등 스칼라값을 설정합니다. 출력은 세기와 같습니다. |
| 웨이브 스칼라(Wave Scalar) | 필드 위치로부터의 샘플 거리에 따라 임시 웨이브 스칼라값을 설정합니다. | |
| 방사상 감쇠 | 필드 스칼라값이 구체 중심까지의 거리에 따라 감소하도록 설정합니다. | |
| 평면 감쇠(Plane Falloff) | 필드 스칼라값이 위치/노멀 쌍이 정의하는 평면까지의 거리에 따라 감소하도록 설정합니다. | |
| 박스 감쇠 | 필드 스칼라값이 박스 중심으로부터의 거리에 따라 감소하도록 설정합니다. | |
| 노이즈 필드(Noise Field) | 샘플이 박스 내에 있으면 펄린(perlin) 노이즈 스칼라값을 정의합니다. | |
| 벡터(Vector) | 균등 벡터(Uniform Vector) | 샘플 위치와 관계없이 균등 벡터값을 설정합니다. 출력은 세기 * 방향과 같습니다. |
| 방사상 벡터(Radial Vector) | 방향이 샘플 위치에서부터 필드 위치까지 정규화된 벡터인 방사상 벡터값을 설정합니다. 출력은 세기 * 방향과 같습니다. | |
| 랜덤 벡터(Random Vector) | 샘플 위치와 관계없이 랜덤 벡터값을 설정합니다. 출력은 세기 * 랜덤 방향과 같습니다. | |
| 연산자(Operator) | 연산자 필드(Operator Field) | 지정된 두 필드 사이의 수학적 연산을 수행합니다. |
| 인티저 필드로 변환(To Integer Field) | 스칼라 필드를 인티저 필드로 변환합니다. | |
| 플로트 필드로 변환(To Float Field) | 인티저 필드를 스칼라 필드로 변환합니다. | |
| 컬링 필드(Culling Field) | 컬링 필드의 결과에 따라 입력 필드를 평가합니다. |