07 февраля 2012 в 15:49Рейтинг: 2
2
0
Пример:
Реализация радара с помощью скрипта.
(скрипт)
===================================================
Управление:
Просто запустите игру. Информация выводиться в консоль===================================================
Автор :
я===================================================
Описание : Скрипт реализует некоторые возможности сенсора Radar.
Достоинства - относительно небольшое потребление ресурсов. Я тестировал на более чем 2000 объектов и угле 90, логика при этом потребляла около 10%. Не важен физический тип мешей.
Недостатки - из за того, что скрипт "реагирует" только на центр мешей, то не подходит для обнаружения больших объектов, и видит сквозь все объекты в сцене.
функция
getTargetList(sceneObjList, sensProp) возвращает список объектов с заданным property(sensProp) из списка объектов сцены(sceneObList).
функция
distanceList(targetList, distProp, own) возвращает список объектов, находящихся на меньшей дистанции, чем значение property distProp, от объекта, на котором "висит" скрипт(own), из переданного ей списка targetList.
функция
checkConeAngle(targetList, angle, vector)возвращает список объектов из переданного списка объектов( targetList) , которые находятся внутри телесного угла, определяемого углом( angle) и выбранной осью объекта, на котором "висит" скрипт.
функция
convertGradusToRadian(coneAngle) конвертирует значение угла (property из градусов в радианы.
функция
axisToVect(axis) возвращает ось(в виде вектора), в зависимости от значения property axis:
X+ = 0, X- = 1, Y+ =2, Y- = 3, Z+ = 4, Z- = 5
Прикреплен файл: python_radar.blend