Разработка игры — обработка столкновений с наклонной местностью

Я пытаюсь понять, как обрабатывать столкновения с игроком, пытающимся двигаться по наклонной местности. Например, предположим, что игрок находится внизу хаф-пайпа и хочет пойти налево:

  • Сначала игрок находится на плоскости и может идти прямо налево.
  • В какой-то момент игрок начинает подниматься по склону, поэтому ему нужно идти вверх и влево, чтобы оставаться на вершине местности.

Как мне справиться с этим?

  • Должен ли я попытаться переместить игрока прямо влево и посмотреть, не столкнулись ли они с местностью — если они столкнулись, то сработает, должен ли я подтолкнуть позицию игроков?
  • Должен ли я попытаться понять, как выглядит местность слева от игроков, и заранее определить, на какой высоте должен располагаться игрок?

person Justin    schedule 28.01.2010    source источник


Ответы (2)


Сначала вам нужно будет проверить наличие столкновений, независимо от того, может ли ваш игрок когда-либо находиться в «свободном падении», то есть не контактировать постоянно с поверхностью. (Это само собой разумеющееся - если вы не находитесь в постоянном контакте с поверхностью, вы не будете знать, какую «местность» попытаться получить «внешний вид».)

В общем, я бы посоветовал сначала двигаться прямо, проверить на столкновение, а затем, если вы обнаружите столкновение, посмотрите на нормаль к поверхности, с которой вы столкнулись, и используйте ее как силу «подталкивания».

person Amber    schedule 28.01.2010

Я бы предложил установить ограничение на вертикальное изменение ландшафта, которое позволяет персонажу «поднимать» его. например все до 4 пикселей. Тогда все, что выше этого, потребует «прыжка».

person cjk    schedule 28.01.2010