Tilemap Collider 2D 컴포넌트는 동일한 게임 오브젝트의 Tilemap 컴포넌트에서 타일에 대한 콜라이더 셰이프를 생성합니다. Tilemap 컴포넌트에서 타일을 추가하거나 제거하면 Tilemap Collider 2D는 LateUpdate
중에 콜라이더 셰이프를 업데이트합니다. 성능에 미치는 영향을 최소화하기 위해 여러 타일 변경 사항을 배칭합니다.
프로퍼티 | 설명 | |
---|---|---|
Max Tile Change Count | 증분 재빌드 대신 전체 콜라이더 재빌드를 수행하기 전에 누적할 최대 타일 변경 사항 수(예: 타일맵에 타일 추가/제거)를 설정합니다. 참고: 누적된 변경 사항 수가 많으면 Tilemap Collider 2D의 증분 재빌드가 전체 재빌드보다 느려질 수 있습니다. 이 값을 낮추면 이 문제를 해결할 수 있습니다. |
|
Extrusion Factor | 각 타일의 콜라이더 셰이프를 돌출시킬 양(Unity 월드 공간 단위)을 설정합니다. 이렇게 하면 인접한 타일의 콜라이더 셰이프 사이 간격을 최소화하고 Composite Collider 2D 컴포넌트에 설정된 최소 Vertex Distance 이내로 가져오기 때문에 타일 콜라이더를 함께 구성할 수 있습니다. 참고: 이 프로퍼티는 기본적으로 사용할 수 없습니다. Composite Operation을 선택하고 Composite Collider 2D를 동일한 게임 오브젝트에 연결하면 사용 가능합니다. |
|
Material | 마찰이나 바운스와 같은 충돌과 관련된 프로퍼티를 결정하는 Physics Material 2D를 선택합니다. | |
Is Trigger | 이 콜라이더 2D가 트리거처럼 작동하도록 하려면 이를 활성화합니다. 이 옵션이 활성화되면 물리 시스템이 이 콜라이더를 무시합니다. | |
Used by Effector | 콜라이더 2D를 첨부된 이펙터 2D에서 사용하게 하려면 이 옵션을 활성화합니다. | |
Composite Operations | 연결된 Composite Collider 2D 컴포넌트가 사용하는 복합 연산을 선택합니다. 참고: None 외의 작업을 선택하면 다음 프로퍼티—Material, Is Trigger, Used By Effector, Edge Radius—가 연결된 Composite Collider 2D 컴포넌트에 의해 제어되며 이 콜라이더의 프로퍼티에서는 더 이상 사용할 수 없습니다. |
|
없음 | 이 옵션을 선택하면 복합 연산이 발생하지 않습니다. | |
Merge | 이 복합 연산이 Boolean OR 연산을 사용하여 지오메트리를 구성하도록 하려면 이 옵션을 선택합니다. | |
Intersect | 이 복합 연산이 Boolean AND 연산을 사용하여 지오메트리를 구성하도록 하려면 이 옵션을 선택합니다. | |
Difference | 이 복합 연산이 Boolean NOT 연산을 사용하여 지오메트리를 구성하도록 하려면 이 옵션을 선택합니다. | |
Flip | 이 복합 연산이 Boolean XOR 연산을 사용하여 지오메트리를 구성하도록 하려면 이 옵션을 선택합니다. | |
Offset | 콜라이더 2D 지오메트리의 로컬 오프셋 값을 설정합니다. | |
Layer Overrides | 확장하여 레이어 오버라이드를 설정할 수 있습니다. | |
Layer Override Priority | 이 콜라이더 2D가 자신과 다른 콜라이더 2D 간의 접촉 여부에 대한 결정이 상충될 때 사용할 결정 우선순위를 지정합니다.자세한 내용은 해당 API 페이지를 참조하십시오. | |
Include Layers | 다른 콜라이더 2D와의 접촉 여부를 결정할 때 이 콜라이더 2D에 포함해야 하는 추가 레이어를 선택합니다.자세한 내용은 해당 API 문서를 참조하십시오. | |
Exclude Layers | 다른 콜라이더 2D와의 접촉 여부를 결정할 때 이 콜라이더 2D에 제외해야 하는 추가 레이어를 선택합니다.자세한 내용은 해당 API 문서를 참조하십시오. | |
Force Send Layers | 이 콜라이더 2D가 다른 콜라이더 2D와 충돌 접촉 시 힘을 보낼 수 있는 레이어를 선택합니다.자세한 내용은 해당 API 문서를 참조하십시오. | |
Force Receive Layers | 이 콜라이더 2D가 다른 콜라이더 2D와 충돌 접촉 시 힘을 받을 수 있는 레이어를 선택합니다.자세한 내용은 해당 API 문서를 참조하십시오. | |
Contract Capture Layers | 이 콜라이더 2D와의 접촉에 관련되고 캡쳐될 다른 콜라이더 2D의 레이어를 선택합니다.자세한 내용은 해당 API 문서를 참조하십시오. | |
Callback Layers | 이 콜라이더 2D가 다른 콜라이더 2D와 접촉 시 충돌을 보고하거나 콜백을 트리거할 레이어를 선택합니다.자세한 내용은 해당 API 문서를 참조하십시오. |
타일맵의 각 타일을 위해 생성된 콜라이더 셰이프는 Tile Asset 프로퍼티에 설정된 해당 콜라이더 유형에 따라 달라집니다. 컴포넌트의 셰이프 생성 동작은 다음과 같은 방식으로 콜라이더 유형에 해당합니다.
콜라이더 타입 | 기능 |
---|---|
없음 | Tilemap Collider 2D 컴포넌트는 이 타일에 대한 콜라이더 셰이프를 생성하지 않습니다. |
Sprite | Tilemap Collider 2D 컴포넌트는 타일에 할당된 스프라이트를 기반으로 콜라이더 셰이프를 생성합니다. 콜라이더 셰이프는 스프라이트에 대해 설정된 커스텀 물리 셰이프를 기반으로 합니다. |
Grid | Tilemap Collider 2D 컴포넌트는 선택한 Grid 컴포넌트의 셀 레이아웃에 의해 결정되는 그리드 셀의 셰이프를 기반으로 콜라이더 셰이프를 생성합니다. |
Tilemap Collider 2D 컴포넌트를 Composite Collider 2D 컴포넌트와 함께 사용할 수 있습니다. 두 컴포넌트를 같은 타일맵에 추가하면 Unity가 근접한 타일의 콜라이더 셰이프를 합성합니다. 그러면 근접한 타일의 콜라이더 셰이프 사이에 있는 코너와 가장자리가 부드러워집니다.
두 컴포넌트를 함께 사용하면 물리 업데이트에 관련된 개별 콜라이더 셰이프의 수가 줄어들어 필요한 계산의 양이 줄어들고 성능에 미치는 영향이 최소화됩니다.
콜라이더에 즉각적인 변경이 필요한 경우, Tilemaps.TilemapCollider2D.ProcessTilemapChanges를 사용하여 즉각적으로 처리하십시오. Tilemaps.TilemapCollider2D-hasTilemapChanges를 사용하여 처리가 필요한지 확인할 수 있습니다.
TilemapCollider2D