Как сделать взаимодействие с предметами на 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) возвращает расстояние между двумя точками в пространстве.