피직스 필드 개요

언리얼 엔진의 피직스 필드 개요

피직스 필드 시스템(Physics Field System) 을 통해 런타임에서 특정 공간 영역의 카오스 피직스(Chaos Physics) 시뮬레이션에 직접 영향을 줄 수 있습니다. 이 필드는 리지드 바디 및 클로스에 힘을 가하거나, 지오메트리 컬렉션 클러스터를 깨뜨리거나, 프랙처 리지드 바디를 앵커링 또는 비활성화거나, 리지드 바디 애니메이션 노드와 상호작용하는 등 다양한 방식으로 피직스 시뮬레이션에 영향을 미치도록 구성할 수 있습니다.

그리고 피직스 필드 시스템은 나이아가라, 머티리얼 등 다른 엔진 시스템과도 통신할 수 있습니다. 이 시스템에서는 특정 위치의 필드를 평가할 수 있는 내장 함수로 피직스 필드를 샘플링할 수 있습니다.

필드는 필드 시스템 컴포넌트(Field System Component) 블루프린트를 만들고 필드에 쿼리를 할 수 있는 시스템을 지정하여 구성할 수 있습니다. 필드를 월드 필드(World Field) 로 환경설정하면 머티리얼나이아가라 시스템 으로 필드를 샘플링할 수 있습니다. 필드를 카오스 필드(Chaos Field)로 환경설정하면 지오메트리 컬렉션과 피직스 오브젝트, 클로스, 리지드 바디 애니메이션 노드가 필드와 상호작용할 수 있습니다.

내부적으로 피직스 필드는 카오스 파티클(Chaos Particle) 에 직접적인 영향을 줍니다. 카오스 파티클은 카오스 피직스 솔버(Chaos Physics Solver)의 영향을 받을 수 있는 공간의 한 지점으로 정의되며, 위치, 속도, 질량 등 다양한 프로퍼티가 있습니다. 카오스 파티클의 대표적인 예로는 지오메트리 컬렉션의 프랙처 리지드 바디, 캐릭터에 어태치된 리지드 바디, 클로스 시뮬레이션의 개별 버텍스가 있습니다.

피직스 필드 추가하기

블루프린트를 만든 다음에는 트랜션트(Transient), 컨스트럭션(Construction), 퍼시스턴트(Persistent) 중 하나의 피직스 필드를 추가할 수 있습니다.

트랜션트 필드 는 런타임에서 생성, 실행 및 파괴되며, 피직스 시뮬레이션에 일시적 이펙트를 추가할 때 사용됩니다. 대표적인 예로는 필드 볼륨과 겹치는 리지드 바디에 외부 스트레인이나 선형 속도를 적용하는 경우가 있습니다.

컨스트럭션 필드 는 블루프린트의 컨스트럭션 스크립트에서 생성되며, 각 컴파일 후 필드를 저장합니다. 컨스트럭션 필드의 대표적인 예로는 지오메트리 컬렉션의 프랙처 조각을 제자리에 고정하는 데 사용되는 앵커 필드(Anchor Field)가 있습니다.

퍼시스턴트 필드 는 한번 생성되면 명시적으로 제거될 때까지 활성화 상태를 유지합니다. 퍼시스턴트 필드는 피직스 시뮬레이션의 틱마다 평가됩니다. 대표적인 예로는 필드 볼륨과 겹치는 지오메트리 컬렉션의 프랙처 조각을 비활성화하는 데 사용되는 비활성화 필드(Disable Field)가 있습니다.

피직스 타입 적용하기

각 필드 타입은 겹치는 카오스 파티클에 대한 선형 포스(Linear Force), 외부 스트레인(External Strain), 비활성화 한계치(Disabled Threshold) 등 구체적인 피직스 타입 에 적용됩니다. 각 피직스 타입은 인티저(Integer), 스칼라(Scalar) 또는 벡터(Vector)로 분류됩니다. 이 분류는 머티리얼 에디터와 나이아가라 시스템의 내장된 함수를 사용할 때 참조됩니다.

메타 데이터 추가하기

필드는 평가 방식에 관한 자세한 정보를 추가하기 위해 여러 타입의 메타 데이터 를 사용할 수 있습니다. 이 메타 데이터는 상태(다이내믹(Dynamic), 스태틱(Static), 키네마틱(Kinematic), 슬리핑(Sleeping) 또는 비활성화(Disabled))와 오브젝트 타입(클로스와 리지드 바디, 파괴, 캐릭터)에 따라 카오스 파티클의 필터링을 제공할 수 있습니다. 또한 질량 중심이나 피벗 포인트와 같이 리지드 바디 내에서 피직스 필드를 평가할 위치를 설정할 때에도 사용될 수 있습니다.

필드 정의하기

각 필드는 트랜션트 필드 추가(Add Transient Field) , 생성 필드 추가(Add Construction Field) , 퍼시스턴스 필드 추가(Add Persistent Field) 노드의 필드 노드(Field Node) 핀에 블루프린트 그래프로 정의됩니다. 이 그래프는 필드의 범위와 프로퍼티를 정의합니다.

블루프린트 그래프는 필드 시스템 컴포넌트(Field System Component)의 자손 컴포넌트로 추가되는 필드 노드(Field Node) 로 구성됩니다. 이러한 오브젝트의 대표적인 예로는 박스 및 방사상 감쇠(Box and Radial Falloff), 유니폼 및 방사상 벡터(Uniform and Radial Vector), 겹치는 필드를 결합해 주는 필드 오퍼레이터(Field Operator) 등이 있습니다.

필드 시각화하기

퍼시스턴트 피직스 필드(Persistent Physics Fields)는 콘솔 명령을 실행하여 레벨에서 시각화될 수 있습니다. 뷰포트 내부에서 표시(Show) > 시각화(Visualize) > 피직스 필드(Physics Field) 를 클릭하여 시각화를 활성화합니다.

Click Show - Visualize - Physics Field inside the viewport to enable the visualization

시뮬레이션 시 콘솔에 다음 명령을 입력합니다.

콘솔 명령

사용 가능한 CVar

설명

r.PhysicsField.Rendering.TargetType

1: 다이내믹 상태(Dynamic State)

2: 선형 포스(Linear Force)

3: 외부 스트레인(External Strain)

4: 파티클 킬(Kill Particles)

5: 선형 속도(Linear Velocity)

6: 각 속도(Angular Velocity)

7: 각 토크(Angular Torque)

8: 내부 스트레인(Internal Strain)

9: 한계치 비활성화(Disabled Threshold)

10: 슬리핑 한계치(Sleeping Threshold)

15: 콜리전 그룹(Collision Group)

16: 비활성화 항목 활성화(Activate Disabled)

표시되어야 하는 피직스 필드 타깃 타입을 설정합니다.

r.PhysicsField.Rendering.SystemType

0: 카오스 필드(Chaos Field)

1: 월드 필드(World Field)

표시되어야 하는 피직스 필드의 타입을 설정합니다.

r.PhysicsField.Rendering.EvalType

0: 분석 평가(Analytical Evaluation) (정밀, 느림)

1: 클립맵 샘플(Sample the Clipmap) (근사치, 빠름)

사용할 필드 평가의 종류를 설정합니다.

태그
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소