Как сделать взаимодействие с предметами на E в Unity?

Например, у меня есть объект двери и при нажатии на E с определённого близкого расстояния эта дверь должна открываться по нажатию клавиши E. Как это можно реализовать? C#


Ответы (1 шт):

Автор решения: Максим Фисман

Правильно понимаю, что вам нужно открыть дверь, если расстояние между игроком и дверью меньше какого-то расстояния икс? Если да, то вам нужно принять нажатие на клавишу E, после чего измерить расстояние и при условии, что расстояние меньше какого-то X, открыть дверь.

private void Update () {
    if (Input.GetKeyDown(KeyCode.E)) {
        if (Vector3.Distance(MainCharacter.transform.position, Door.transform.position) <= нужное_расстояние)) {
            // Открытие двери
        }
    }
}

Функция Vector3.Distance(Vector3 a, Vector3 b) возвращает расстояние между двумя точками в пространстве.

→ Ссылка