난간을 어떻게 감지합니까?


18

게임에서 나는 캐릭터가 난간을 잡고 붙잡을 수 있고, 그렇게 할 여지가 있다면 스스로 끌어 올릴 수 있기를 원합니다.

난간이 있는지, 캐릭터가 올라갈 공간이 충분한 지 어떻게 알 수 있습니까?


이 질문은 두 가지 이전 질문의 정식 버전으로 작성되었습니다. 여기서 메타 토론을 참조하십시오 .
doppelgreener


답변:


22

Overgrowth Alpha 132에 대한 비디오 는 어떻게 난간 등반을 구현했는지 보여줍니다.

이 방법은 실린더와 구 대신 사각형과 원을 사용하는 2D 엔진까지 모든 엔진에서 작동해야합니다 .

그들의 난간 탐지는 두 부분으로 구성됩니다.

벽면 감지 (구 사용)

게임은 플레이어가 현재 벽과 충돌하는지 확인합니다. 벽이 있으면 플레이어가 움켜 잡을 수있는 선반이있을 수 있습니다. 두 번째 부분은 선반을 분석하는 데 사용됩니다.

난간 감지 (실린더 사용)

플레이어가 벽에 닿으면 실린더가 난간에 닿을 때까지 플레이어 위치 위의 특정 거리에서 아래쪽으로 휩쓸립니다. 이것은 세 가지를 결정합니다.

  • 플레이어 위에 난간이 있는지 여부
  • 선반 높이
  • 실린더가 플레이어와 동일한 수평 공간을 차지한다는 점을 고려하여 플레이어가 선반에 올라갈 공간이 있는지 여부.

놀라운 방법과 환상적인 예제 +1
Bugster

"실린더가 플레이어의 위치 위의 특정 거리에서 아래쪽으로 휩쓸려갔습니다"어떤 거리입니까? 이것은 실내 환경을 다룰 때 매우 중요합니다 (실수로 천장과 교차).
Tara

1
@Dudeson은 과거에 레이 캐스트를 사용하여 처음에 난간 표면을 찾았습니다. 볼륨을 확인한 후 장애물이없는 공간이 있는지 확인하십시오. 레이 캐스트는 방향성이 있기 때문에 천장을 오 탐지로 읽지 않습니다. 그러나 원점이 너무 높으면 다음 층에서 여전히 엉망이 될 수 있습니다. 정확한 메트릭은 각 게임의 많은 세부 사항에 따라 다릅니다. 캐릭터 크기, 팔의 도달 거리, 레벨 디자인의 클리어런스, 떨어지는 속도 등
DMGregory

@DMGregory 레이 캐스트와 함께 좋은 생각!
Tara
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.