Как пересечь Луч с моделью местности?
В настоящее время я разрабатываю игру RTS в XNA. До сих пор у меня есть модель местности, сгенерированная из карты высоты и некоторых единиц измерения, которые на ней нарисованы.
Следующим шагом было бы дать подразделениям команды о том, куда двигаться. Для этого мне нужно вычислить точное положение местности за курсором, когда он нажат.
Для выбора единиц измерения я просто генерирую луч, направленный от курсора в сторону экрана, и выбираю первую единицу, пересекаемую этим лучом. Теперь этого не будет работайте на местности, потому что все это одна модель.
Кто-нибудь может мне помочь?
С Уважением Ник
P. S: Я только что нашел это видео на youtube, которое представляет собой точное решение моей проблемы... к сожалению, без всякой ссылки на код. http://www.youtube.com/watch?v=czHW3oK8_oI
2 ответа:
Возможно, этот пример из клуба создателей будет хорошей отправной точкой:
Я не знаком с XNA, но похоже, что ваша модель местности-это сетка, и вы хотите вычислить пересечение луча с сеткой.
Если это так, то есть описание пересечения луча с сеткой в нижней половине этой страницы. Он описывает, как получить точку пересечения и другие данные.
В общем случае, Гугл
XNA ray mesh intersection
возвращает много обращений. Если это тебе не поможет, значит, я что-то упустил.