воскресенье, 15 марта 2015 г.

Разгребаюсь потихоньку с BGL.

    "О, Омнисия, даруй понимание своему аколиту" - примерно так я камлаю в последнее время над этим модулем. Сваял вот примерчик монитора радара, как в RedEclipse -  но он не доработан. Просто пример вывода точек из списка в указанную позицию экрана. Не документирован, в коде с BGL я сам нифига не понимаю, но хвала Омнисии, все работает.



    Если хотите доработать - нужно организовать определение ближайших объектов с каким-то проперти, и отсечку слишком далеких, определение цвета этих объектов, выбор масштаба, и прочая. Возможно дальность свыше какого-то предела кодировать яркостью точек. То есть объект далеко - точка находится на границе монитора и очень бледная, так что можно определить только направление на объект, когда подходит достаточно близко, то точка яркая и можно следить за перемещениями и получать представление о расстоянии. Кстати - не обязательно выводить именно точку, можно попиксельно рисовать значок какой-нибудь. 
Скачивать таки тут. Около 150 кБ
   Возможно, сделаю в ближайшее время более удобоваримый пример, а пока суть - объект, который куб, и по совместителству, обладатель радара, получает локальные координаты объектов, которых в сцене еще трое. Полученные локальные координаты, кубик пишет в глобальный словарь, откуда их читает камера, на которой висит скрипт монитора. У камеры есть проперти, size отвечает за толщину пикселей, X и Y выставляют координаты точки отсчета на экране. Покрутите, посмотрите. Скрипт монитора каждый вызов очищает экран, циклом читает данные из словаря и выставляет цвет и точку в полученные координаты. 
Как оно выглядит.



Комментариев нет:

Отправить комментарий