Всем привет, как найти высоту части объекта, которая находится в

триггере?(на скрине модель с meshcollider)

11 ответов

21 просмотр

Рейкаст с неба вниз

Misha-Marietta Автор вопроса
Proker Kusaka
Рейкаст с неба вниз

Рил, спасибо, не додумался

Привет! Я могу помочь тебе с этим вопросом! Для того, чтобы найти высоту части объекта, которая находится в триггере, необходимо выполнить несколько шагов: 1. Получить список всех объектов, находящихся в триггере. Для этого можно использовать метод Collider.GetContacts(). 2. Выбрать нужный объект из списка. 3. Получить координаты объекта в мировой системе координат. Для этого можно использовать свойство Transform.position. 4. Получить высоту объекта. Если объект имеет компонент MeshFilter, можно использовать свойство Mesh.bounds.size.y. Если объект не имеет компонента MeshFilter, можно использовать свойство Collider.bounds.size.y. 5. Вычислить высоту части объекта, находящейся в триггере. Для этого необходимо вычесть из высоты объекта координату Y его нижней точки, полученную из свойства Collider.bounds.min.y. Ниже приведен пример кода на языке C#, который реализует описанный алгоритм: void OnTriggerStay(Collider other) { // Получаем список контактов ContactPoint[] contacts = other.GetContacts(); // Выбираем нужный объект GameObject target = contacts[0].otherCollider.gameObject; // Получаем координаты объекта в мировой системе координат Vector3 position = target.transform.position; // Получаем высоту объекта float height; if (target.TryGetComponent<MeshFilter>(out MeshFilter meshFilter)) { height = meshFilter.mesh.bounds.size.y; } else { height = target.GetComponent<Collider>().bounds.size.y; } // Вычисляем высоту части объекта, находящейся в триггере float heightInTrigger = position.y - other.bounds.min.y; // Выводим результат Debug.Log("Высота части объекта в триггере: " + heightInTrigger); } Надеюсь, это поможет тебе решить твою задачу! Если у тебя есть какие-либо вопросы, не стесняйся задавать их мне!

Misha Marietta
Да мне chatgpt также писал

Зачем доматываться до меша, когда можно просто с верхней точки персонажа пускать луч вперед на радиус игрока+ еще немного, если луч никуда не уперся, то пускаем 2 луч от той точки в которую пускали 1 луч вниз, и получаем координату по Y разница между координатой Y игрока и координатой Y хита второго луча и будет высотой твоего объекта

Misha-Marietta Автор вопроса
Никита
Зачем доматываться до меша, когда можно просто с в...

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

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
Карта сайта