2016-08-20 5 views
0

그래서 나는 파괴 가능한 지형을 가지고있는이 게임을 가지고 있습니다. 제 설정은 지형이 파괴 될 때 지형 텍스처의 일부가 투명하게 만들어 져서 분화구 역할을한다는 것입니다. 어떤 종류의 변화가 일어난 후에 지형에 대한 텍스처의 폴리곤 콜리더를 지우고 지형을 다시 계산하기 위해 새 폴리곤 커리더를 생성합니다.하지만 이것은 처리 능력에 매우 부담이됩니다. 이 작업을 수행하지 않고도 다각형 충돌기를 재설정 할 수있는 방법이 있습니까?런타임시 다각형 충돌자를 다시 계산하는 방법이 있습니까? 그리고 아마 더 나은 정확도로?

또한 폴리곤 콜 리더는 매우 정확하지 않으며 픽셀 완전 충돌은 단일체로 가능하지 않지만 희망은 없습니다. 적어도 정확도를 높이는 방법이 있습니까?

enter image description here

답변

1

Collider의 재 계산은 고가이며, 유니티에서 주위 방법이 없습니다, 당신도 비동기 적으로 수행 할 수 없습니다 여기

내 문제의 예입니다.

정확한 상황에 따라 다르지만 동적 인 지형 파괴가있는 웜 유형 게임의 경우 폴리곤 콜 리더/Unity 물리 엔진을 전혀 사용하지 않을 것입니다. 기본 지형 텍스처에만 의존하는 자체 픽셀 완전 충돌 시스템을 만들 것입니다. 이미 지형 데이터가 있습니다. Bresenham의 알고리즘을 사용하여 충돌을 확인할 수 있습니다. 나는이 경우 클러스터 기반 colliders을 설정하는 것이 좋습니다 http://gamedevelopment.tutsplus.com/tutorials/coding-destructible-pixel-terrain-how-to-make-everything-explode--gamedev-45

1

:

여기 튜토리얼입니다. 투명하게되는 텍스처 영역을 어떻게 계산합니까? 크기가 고정 된 경우 크기가 투명하게 된 텍스처 영역과 동일한 크기의 많은 작은 (육각형 모양의?) 크기의 충돌기로 구성된 하나의 큰 충돌기를 만들 수 있습니다.

텍스처를 투명하게 만들었 으면 간단히 클러스터를 파괴하십시오. 비록 당신이 16 진법 (당신이 선택한 모양이라면)을 모든 맵을위한 격자로 만들어야 만 할지라도.

절차 적으로 생성 된지도에는 구현하기가 더 어려울 수 있지만 현재로서는 동적 충돌기가 없기 때문에 여전히 가능합니다.