Понедельник, 20 Августа 2018, 06:51

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вычислить перпендикуляр к поверхности (Mesh terrain)
Вычислить перпендикуляр к поверхности
andarkyДата: Пятница, 25 Сентября 2015, 16:51 | Сообщение # 1
старожил
Сейчас нет на сайте
У меня есть террейн, хотя правильнее назвать его Mesh.

Я хочу с помощью RayCast размещать на нём объекты.
Сейчас у меня они создаются в точках RayCastHit, но они торчат вверх,
а мне хотелось бы чтобы они ложились по рельефу.

Изначально все объекты висят над рельефом
в цикле Start() каждый объект райкастит вниз и вычислив точку пересечения принимает её координаты.
А угол я для разнообразия пробовал рандомить - но так еще ужаснее...

Т.е. я так понимаю нужно вычислять наклон полигона меша моего террейна?
Т.е. влазить в структуру Mesh.vertices

или как-то проще можно?



Моя страничка по дизайну
GameDev//Design//3D
Storm54Дата: Пятница, 25 Сентября 2015, 18:12 | Сообщение # 2
постоянный участник
Сейчас на сайте
Кидаешь райкаст.

В RaycastHit получаешь нормаль, после чего используешь метод:
Quaternion.FromToRotation

Код

var rot = Quaternion.FromToRotation(Vector3.up, hit.normal);


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


Более 10 лет опыта разработки на разных языках высокого уровня.
Отличные знания .NET, Unity.
Разбираюсь в протоколах TCP, UDP.
Наличие выпущенных коммерческих проектов.
Занимаюсь разработкой WebGL проекта (с применением технологии WebSocket)
Пишите в Л.С.


Сообщение отредактировал Storm54 - Пятница, 25 Сентября 2015, 18:29
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вычислить перпендикуляр к поверхности (Mesh terrain)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг