티스토리 뷰

MeshCollider는 이래저래 자주 쓰게 되는 Collider 형태다.

해당 오브젝트가 가지고 있는 메쉬의 형태로 Collider가 생성되는 기능으로 꽤 자주 사용되는데, 남용하는 것은 좋지 않다.

어째서인지 살펴보자.

 

1. 최악의 처리 속도

MeshCollider가 Mesh의 형태를 따라서 충돌을 감지하기 때문에 처리 부하가 어마어마하게 높다.

다른 콜라이더들도 이런저런 성능 차가 있는 편이지만 MeshCollider는 특히 더하다.

그렇기 때문에 사용하는 기능이 Convex인데, 이에 대해서는 아래에서 살펴보자.

 

2. Convex의 부정확함

Convex는 MeshCollider의 처리 부하를 보완하기 위해서 추가 처리를 해서 Collider의 Vertex(점)의 수를 줄이는 기능이다.

[이전에는 면이라고 적었었는데, 결과적으로는 면이라서 그렇게 적었었다. 다만, 헷깔릴 수 있을 거 같아서 수정하였다.]

특히 MeshCollider를 Trigger로 작동하려고 할 때에는 반드시 켜 줘야 하는 기능인데, 문제는 골이 없어지는 것 이외에도 기존 크기보다 조금 커지는 문제가 있다는 것.

때문에 다른 콜라이더로 작동시킬 수 있는 기능이라면 MeshCollider 보다는 다른 콜라이더를 쓰는 것이 정확도 측면에서 더 좋다.

 

3. 불안정함

MeshCollider는 전체적으로 작동이 불안전한 경향이 있다.

물론, Collider 자체가 코드 상으로 단점을 어느 정도 보완하면서 작성해야 하는 건 맞지만, MeshCollider는 이런 점이 특히 더 심하다.

빠른 속도로 떨어지다 보면 지면에 얇게 펼쳐진 Collider를 뚫고 떨어지기도 한다는 것이 바로 그것.

다른 Collider에서도 발생 가능한 문제이긴 하지만, MeshCollider는 발생률이 다른 Collider보다 훨씬 더 높다.

 

 

이런 이유로 MeshCollider는 너무 자주 쓰지는 않는 게 좋다.

분명 따로 세팅을 할 필요가 없어서 편리한 기능인 건 사실이지만, 실제로 사용하기에는 난점이 많기 때문.

물론, 다른 콜라이더로는 처리할 수 없는 영역에는 MeshCollider를 사용해야한다. 다른 Collider를 쓸 수 있는 경우에 MeshCollider를 사용하는 건 지양해야 한다는 의미다.

실제로 Asset을 보면 간단한 박스형 물체인데도 MeshCollider를 사용하는 경우가 더러 있는데, 가능하면 이것도 확인해서 고쳐주는 것이 좋을 것이다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함