Unity - заставлять персонажа прыгать на платформе, когда он приближается к одному? - PullRequest
0 голосов
/ 08 марта 2019

Хорошо, у меня есть игра, в которой пользователь не контролирует прыжки, а просто перемещает персонажа с помощью джойстика. Мне нужно, чтобы, когда они приблизятся к платформе (они войдут в зону под ней или окажутся на платформе под ней, они прыгнут на нее.

Мой подход будет иметь коробочный коллайдер для платформы и один в качестве триггера, поэтому, когда пользователь нажимает на триггер, я могу переместиться между ними в положение на платформе. Это самый простой способ?

enter image description here

Твердое тело моего персонажа проверено на кинематическое и гравитационное. Какой еще способ заставить персонажей прыгать, когда они переходят на более высокую платформу?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Если ваши платформы всегда имеют одинаковую высоту (или не генерируются на случайных высотах), вы можете использовать один или серию лучей.

public float heightOffset;
public float rayDistance;

Vector3 position = transform.position + new Vector3(0f, heighOffset, 0f);
Vector3 rotation = transform.forward;

if(Physics.Raycast(position, rotation, rayDistance))
{
    Jump();
}

И повторить это для каждого heightOffset.

Документация

0 голосов
/ 08 марта 2019

Еще один метод - это выполнить радиопередачу вниз перед персонажем, чтобы обнаружить разницу в высоте, и если разница в высоте находится в пределах допустимого диапазона для прыжка, заставьте их выполнить прыжок.

Но использование триггеровхорошо тожеЗависит от игры.

...