Суть вопроса такая, есть в библиотеках ДГУИ полезная функция:
method Win2World takes real X, real Y, real Range returns VECTOR3
Переводит относительные оконые координаты (от -1 до +1), в мировые, результирующая точка будет расположена на растоянии от камеры равном Range
В ренж нужно передать растояние от камеры до проекции этой точки на террейн, и вопрос заключается в том каким способом лучше найти это пересечение, пока есть вараинт перебора циклом с мелким шагом, но мне кажется это не лучшее решение, ведь при огромных расстояних это вызовет высокую нагрузку
Принятый ответ
а разве мы не задаём его триггерно?
посмотри как это сделано в дгуи
там же пример есть
ну а вообще
GetCameraTargetPositionX/Y/Z()-GetCameraEyePositionX/Y/Z()
это координаты вектора
а потом тупо высчитываем длинну вектора (гуглим вектора или теорему Пифагора)
посмотри как это сделано в дгуи
там же пример есть
ну а вообще
GetCameraTargetPositionX/Y/Z()-GetCameraEyePositionX/Y/Z()
это координаты вектора
а потом тупо высчитываем длинну вектора (гуглим вектора или теорему Пифагора)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
имхо лучше делить на области и перебирать их по удалению от камеры
Отредактирован darkowlom
смысл делить на 2 если мы и так весь промежуток проверяем