Нахождение точки посадки - PullRequest
0 голосов
/ 23 декабря 2018

Я использую addforce, чтобы бросить объект в воздух, я хочу создать экземпляр самолета в точке приземления, как я могу это сделать?Я думал вычислить точку приземления с помощью Unity Physics API, но я не знаю, как.

Я пробовал некоторый код о проектировании, но это не поможет

if (other.tag == "CarPlayer")
{
    other.gameObject.GetComponentInParent<Rigidbody>().AddForce(0, 1 * power, 1 * power, ForceMode.Impulse);
}

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

1 Ответ

0 голосов
/ 23 декабря 2018

Насколько я знаю, тебе придется самостоятельно делать математику;Unity не имеет встроенного мгновенного моделирования этого.

В Интернете уже есть множество ресурсов, например, на этой вики-странице по моделированию траектории , которая может вам помочь.

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

Самый простой ответ, вероятно, заключается в использовании что-то вроде this :

public Vector3 PlotTrajectoryAtTime (Vector3 start, Vector3 startVelocity, float time) 
{
    return (start) + (startVelocity * time) + (Physics.gravity * time * time * 0.5f);
}

(Перед тем, как начатьобъясняя PEMDAS, да, я знаю, что скобки не нужны, но я думаю, что визуальная группировка обеспечивает лучшую читаемость, что облегчает ее понимание)

...