Version: 2020.3
언어: 한국어
외부 힘 모듈
트리거 모듈

충돌 모듈

이 모듈은 에서 파티클게임 오브젝트가 충돌하는 방법을 제어합니다. 첫 번째 드롭다운 메뉴를 사용하여 충돌 설정을 평면(Planes) 또는 월드(World) 에 적용할지를 정의합니다. 월드(World) 를 선택한 경우 충돌(Collision) 모드 드롭다운 메뉴를 사용하여 충돌 설정을 2D 또는 3D 월드에 적용할지를 정의합니다.

평면 모듈 프로퍼티

프로퍼티 기능
Planes popup Planes 모드를 선택합니다.
Planes 충돌 평면을 정의하는 트랜스폼의 확장 리스트입니다.
Visualization 충돌 평면 기즈모를 씬 뷰에서 와이어프레임으로 표시할지 솔리드 평면으로 표시할지 선택합니다.
Scale Plane 시각화에 사용되는 평면 크기입니다.
Dampen 파티클이 충돌한 후 줄어드는 속도의 비율입니다.
Bounce 파티클이 충돌한 후 충돌 표면에서 튕겨져 나오는 속도의 비율입니다.
Lifetime Loss 파티클이 충돌할 때 줄어드는 전체 수명의 비율입니다.
Min Kill Speed 충돌한 후 이 속도 이하로 이동하는 파티클은 시스템에서 제거됩니다.
Max Kill Speed 충돌한 후 이 속도 이상으로 이동하는 파티클은 시스템에서 제거됩니다.
Radius Scale 파티클 충돌 구체의 반지름을 조절할 수 있으며, 이를 통해 시각적으로 가장자리에 잘 맞게 표현할 수 있습니다.
Send Collision Messages 이 옵션이 활성화되어 있으면 OnParticleCollision 함수를 통해 스크립트에서 파티클 충돌을 감지할 수 있습니다.
Visualize Bounds 씬 뷰에서 각 파티클의 충돌 튕김을 와이어프레임 모양으로 렌더링합니다.

월드 모듈 프로퍼티

프로퍼티 기능
World popup World 모드를 선택합니다.
Collision Mode 3D 또는 2D입니다.
Dampen 파티클이 충돌한 후 줄어드는 속도의 비율입니다.
Bounce 파티클이 충돌한 후 충돌 표면에서 튕겨져 나오는 속도의 비율입니다.
Lifetime Loss 파티클이 충돌할 때 줄어드는 전체 수명의 비율입니다.
Min Kill Speed 충돌한 후 이 속도 이하로 이동하는 파티클은 시스템에서 제거됩니다.
Max Kill Speed 충돌한 후 이 속도 이상으로 이동하는 파티클은 시스템에서 제거됩니다.
Radius Scale 2D 또는 3D 설정입니다.
Collision Quality 이 드롭다운 메뉴를 사용하여 파티클 충돌 품질을 설정합니다. 이렇게 하면 콜라이더를 통해 통과할 수 있는 파티클의 수가 영향을 받게 됩니다. 낮은 품질의 레벨에서는 파티클이 가끔 콜라이더를 통과할 수 있지만 계산할 때 리소스가 덜 소모됩니다.
    High Collision QualityHigh 로 설정하면 충돌은 항상 물리 시스템을 활용하여 충돌 결과를 감지합니다. 리소스가 가장 많이 소모되지만 가장 정확합니다.
    Medium (Static Colliders) Collision QualityMedium (Static Colliders) 으로 설정하면 충돌은 복셀 그리드를 사용하여 이전 충돌을 캐시하여 나중에 프레임에서 빠르게 재사용할 수 있습니다. 이 캐시에 대한 자세한 내용은 다음 월드 충돌을 참조하십시오.

MediumLow 의 유일한 차이점은 파티클 시스템이 물리 시스템에 쿼리하는 프레임당 횟수입니다. MediumLow 보다 프레임당 더 많이 쿼리합니다.

이 설정은 절대 움직이지 않는 정적 콜라이더에만 적합합니다.
    Low (Static Colliders) Collision QualityLow (Static Colliders) 로 설정하면 충돌은 복셀 그리드를 사용하여 이전 충돌을 캐시하여 나중에 프레임에서 빠르게 재사용할 수 있습니다. 이 캐시에 대한 자세한 내용은 다음 월드 충돌을 참조하십시오.

MediumLow 의 유일한 차이점은 파티클 시스템이 물리 시스템에 쿼리하는 프레임당 횟수입니다. MediumLow 보다 프레임당 더 많이 쿼리합니다.

이 설정은 절대 움직이지 않는 정적 콜라이더에만 적합합니다.
Collides with 파티클은 선택한 레이어의 오브젝트와만 충돌합니다.
Max Collision Shapes 파티클 충돌에 대해 고려할 수 있는 충돌 형태의 수입니다. 과도한 형태는 무시되며 터레인이 우선 순위를 갖습니다.
Enable Dynamic Colliders 파티클이 동적 오브젝트와 충돌할 수도 있습니다. 선택하지 않으면 오직 정적 오브젝트와 충돌합니다.
Enable Dynamic Colliders 동적 콜라이더는 키네마틱으로 설정되지 않은 모든 콜라이더를 의미합니다. 콜라이더 타입에 대한 자세한 내용은 콜라이더 문서를 참조하십시오.
충돌 시 파티클이 반응하는 오브젝트 집합에 이러한 콜라이더 타입을 포함하려면 이 옵션을 선택합니다. 이 옵션을 선택하지 않으면 파티클이 정적 콜라이더에 대한 충돌에만 응답합니다.
Voxel Size 복셀은 3차원 공간에서 일반 그리드의 값을 나타냅니다. Medium 또는 Low 품질의 충돌을 사용할 때 Unity는 그리드 구조에서 충돌을 캐시합니다. 이 설정은 그리드 크기를 제어합니다. 값이 작을수록 정확도는 높아지지만 메모리를 많이 사용하고 효율성이 떨어집니다.

참고: Collision QualityMedium 또는 Low 로 설정되었을 때에만 이 프로퍼티를 사용할 수 있습니다.
Collider Force 파티클 충돌 이후 물리 콜라이더에 힘을 가합니다. 파티클로 콜라이더를 미는 데 유용합니다.
Multiply by Collision Angle 콜라이더에 힘을 적용할 때 파티클과 콜라이더 간의 충돌 각을 기반으로 힘의 세기를 조정합니다. 그레이징 각은 정면 충돌보다 더 적은 힘을 발생시킵니다.
Multiply by Particle Speed 콜라이더에 힘을 적용할 때 파티클의 속력을 기반으로 힘의 세기를 조정합니다. 빠르게 이동하는 파티클은 느리게 이동하는 파티클보다 더 많은 힘을 발생시킵니다.
Multiply by Particle Size 콜라이더에 힘을 적용할 때 파티클의 크기를 기반으로 힘의 세기를 조정합니다. 크기가 큰 파티클은 작은 파티클보다 더 많은 힘을 발생시킵니다.
Send Collision Messages OnParticleCollision 함수로 스크립트에서 파티클 충돌을 감지하려면 이 옵션을 선택합니다.
Visualize Bounds 씬 뷰에서 각 파티클의 충돌 구체를 미리 볼 수 있습니다.

세부 정보

파티클 시스템을 둘러싸고 있는 다른 오브젝트는 파티클이 오브젝트와 상호 작용할 때 더욱 효과적입니다. 예를 들어 물이나 잔해는 쉽게 통과되지 않고 단단한 벽에 의해 차단되어야 합니다. 충돌 모듈을 활성화하면 파티클이 씬의 오브젝트와 충돌할 수 있습니다.

팝업 창에서 월드(World) 모드를 선택하여 파티클이 씬의 모든 콜라이더와 충돌할 수 있도록 파티클 시스템을 설정할 수 있습니다. 콜라이더는 충돌 대상(Collides With) 프로퍼티를 사용하여 사용되는 레이어에 따라 비활성화할 수도 있습니다. 팝업 창에 평면(Planes) 모드 옵션도 있으므로 콜라이더가 필요 없는 평면 집합을 씬에 추가할 수 있습니다. 이 옵션은 간단한 바닥, 벽이나 그와 비슷한 오브젝트에 유용하며 월드 모드보다 프로세서 오버헤드가 낮습니다.

평면 모드가 활성화되어 있으면 평면 프로퍼티를 통해 트랜스폼 리스트(일반적으로 빈 게임 오브젝트)를 추가할 수 있습니다. 평면은 오브젝트의 로컬 XZ 평면에서 무한대로 확장되며 양의 Y축은 평면의 노멀 벡터를 나타냅니다. 개발을 돕기 위해 오브젝트에 눈으로 볼 수 있는 메시가 있는지 여부에 관계없이 평면이 기즈모로 표시됩니다. 기즈모는 와이어프레임 그리드 또는 솔리드 평면으로 표시할 수 있으며 크기를 조정할 수도 있습니다. 하지만 스케일링은 시각화에만 적용됩니다. 충돌 평면 자체는 씬을 통해 무한대로 확장됩니다.

충돌이 활성화되면 그래픽이 표면과 접촉할 때 잘릴 수 있기 때문에 파티클 크기가 문제가 되는 경우가 있습니다. 이로 인해 파티클이 멈추거나 튀어 오르기 전에 표면 중간에 “가라앉는” 것처럼 보일 수 있습니다. 반지름 스케일(Radius Scale) 프로퍼티는 파티클의 대략적인 원형 반경을 실제 크기의 백분율로 정의하여 이 문제를 해결합니다. 이 크기 정보는 클리핑을 방지하고 침몰 효과를 피하기 위해 사용됩니다.

감속(Dampen)바운스(Bounce) 프로퍼티는 파티클이 솔리드 오브젝트를 나타내는 경우 유용합니다. 예를 들어 자갈은 던져질 때 딱딱한 표면에서 튀어 나오는 경향이 있지만 눈뭉치 파티클은 충돌하면서 속도가 줄어듭니다. 수명 손실(Lifetime Loss)최소 소멸 속력(Min Kill Speed) 은 충돌 후 남은 파티클의 영향을 줄이는 데 사용됩니다. 예를 들어 불 덩어리는 공기 중을 비행하는 몇 초 동안은 지속될 수 있지만 충돌한 후에는 분리된 불 파티클이 빠르게 소멸되어야 합니다.

충돌 메시지 보내기(Send Collision Messages) 를 활성화하면 스크립트에서 파티클 충돌을 감지할 수 있습니다. 스크립트는 파티클 시스템이나 콜라이더가 있는 시스템에 연결할 수 있습니다. 충돌을 감지하게 함으로써 게임플레이에서 파티클을 발사체, 마법 주문, 파워 업과 같은 능동적인 오브젝트로 사용할 수 있습니다. 자세한 내용과 예제는 MonoBehaviour.OnParticleCollision의 스크립트 레퍼런스 페이지를 참조하십시오.

월드 충돌 품질

월드 충돌 모듈에는 충돌 품질(Collision Quality) 프로퍼티가 있으며 이 프로퍼티는 높음(High), 중간(Medium) 또는 낮음(Low) 으로 설정할 수 있습니다. 충돌 품질중간(정적 콜라이더)(Medium (Static Colliders)) 또는 낮음(정적 콜라이더(Low (Static Colliders))로 설정하면 충돌은 3D 그리드 값인 복셀의 그리드를 사용하여 이전 충돌을 캐시하여 나중에 프레임에서 빠르게 재사용할 수 있습니다.

이 캐시는 각 복셀의 평면으로 구성되어 있습니다. 여기서 평면은 각 포지션의 충돌 표면을 의미합니다. 매 프레임마다 Unity는 파티클이 위치한 평면 캐시를 체크합니다. 만일 캐시가 존재한다면, Unity는 이를 통해 충돌 검사를 합니다. 캐시가 존재하지 않는 경우 물리 시스템을 활용합니다. 충돌이 리턴되면 캐시에 추가되어 이후 프레임에서 쿼리 속도를 향상시킵니다.

이는 근사치이므로 충돌이 누락될 수도 있지만, 복셀 크기 값을 줄여 이를 어느 정도 줄일 수 있습니다. 하지만 이렇게 하면 메모리가 추가적으로 사용되어 효율성이 떨어집니다.

중간(Medium)낮음(Low) 사이의 유일한 차이점은 프레임당 시스템이 물리 시스템에 쿼리할 수 있도록 허용된 횟수입니다. 낮음(Low)은 중간(Medium)보다 프레임당 쿼리가 적습니다. 프레임당 예산이 초과되면 남아 있는 파티클에 캐시만 사용됩니다. 이렇게 하면 캐시가 충분히 채워질 때까지 누락된 충돌이 늘어날 수 있습니다.


  • 2017–05–30 페이지 수정됨

  • Unity [2017.1]에서 충돌 모듈의 기능 변경됨(../Manual/30_search.html?q=newin20171) NewIn20171

외부 힘 모듈
트리거 모듈