타일 ​​맵 위에 복잡한 충돌 영역을 어떻게 정의 할 수 있습니까?


13

많은 사람들이 추천했듯이 Tiled 맵 편집기 를 사용하여 게임에 대한 맵을 작성하고 있으며 특히 libgdx 프레임 워크가 Tiled 맵용 API를 제공 하기 때문에 매우 좋습니다 .

지도 편집기에서 충돌 가능한 타일을 정의하거나 정의 할 수 없으므로 코드의 충돌을 처리 할 수 ​​있습니다. 그러나 현재 타일을 충돌 가능 영역과 충돌 불가능 영역으로 나눠야하는 상황에 처해 있습니다. 수동으로 두 영역의 점과 경계를 정의하고 프로그래밍 방식으로 처리 할 수 ​​있다고 생각합니다. 그러나 그것은 많은 시간이 걸리는 작업입니다.

그래서 나는 많은 구글을 ​​검색 하고이 물리 바디 에디터를 발견 했습니다. 이것은 위에서 언급 한 프로세스를 자동화하는 훌륭한 도구 인 것 같습니다. 그러나 시스템은 압축이 풀린 각 이미지와 함께 작동하며 이미지를 압축 해제하여 작동하더라도 확실하지 않습니다.

충돌 영역을 정의하는 전체 프로세스를 수행하는 더 좋은 방법이 있는지 궁금합니다. 어떤 제안이라도 대단히 감사하겠습니다.

답변:


22

평소와 같이 나는 몇 가지 아이디어를 테이블에 던질 것입니다. 이 문제에 접근 할 수있는 몇 가지 방법이 있습니다. 내가 기억했던 세 가지를 설명 할 것이며,이 접근법들 중 어느 것이 당신의 프로젝트에 적합한지를 결정하는 것은 당신에게 달려 있습니다.

아이디어 1 : 타일의 반복 가능한 패턴

생각할 수있는 충돌 영역을 지원할 수있을 정도로 시스템이 유연해야합니까, 아니면 가능한 한 타일 모양으로 분해하여 특수한 경우로 취급 할 수 있습니까? 이 아이디어를 읽을 수있는 한 쌍의 리소스가 있습니다.

아이디어 2 : 타일 맵 무시

예, 타일 맵을 완전히 무시하고 충돌 영역을 다른 다각형으로 표현하십시오. 그런 다음 타일 기반지도 위에이 지오메트리를 오버레이하고 충돌을 처리하십시오. 물리가 필요하지 않은 경우 다음 리소스를 확인하십시오.

그렇지 않으면, 당신이 아마 당신이 연결 한 도구를 사용할 수 있다고 생각합니다.

아이디어 3 : 완벽한 픽셀 충돌 감지

픽셀 완벽한 충돌을 사용하고 타일에서 별도의 마스크 또는 알파 채널 만 사용하여 가변 충돌 영역을 인코딩하십시오. 영감을 얻으려면 다음 안내서를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.