воскресенье, 19 августа 2018 г.

Пример использования поля зрения камеры.

    Озаботился вопросом распознавания нахождения какого-либо объекта в поле зрения камеры, просто иногда экранные координаты объекта могут давать ошибку, то есть объект еще есть, но его экранная координата уже довольно давно перевалила за единицу. Взял за основу получение угла между векторами направления зрения камеры и направления от камеры к объекту, и сравнение его с углом зрения камеры. Получилось. Правда аналогичные ошибки и тут иной раз вылезают. Так что выкладываю его для посмотреть, кому интересно, чего я наворотил:


Управление: WSAD, колесо мыши.

вторник, 14 августа 2018 г.

IDDQD

    Сделал еще один маленький пример, на этот раз вроде даже понятно, зачем такое нужно, в отличии от предыдущего, про который я до сих пор понять не могу, нафига я его делал. Как понятно из названия, пример читов, точнее изменения какого-либо проперти в зависимости от последовательности нажатых клавиш. Как оно работает: у объекта, должного реагировать на читы, есть строка, в конец которой при нажатии на клавишу добавляется буква, соответствующая нажатой клавише, то есть, нажали "W", значит добавляется "W". А дальше идет поиск вхождения имени специального проперти в эту строку, правда специальность эта отмечена символом, указывающим тип проперти, которое при поиске вхождения опускается. Объясняю, имя проперти-читов начинается с "_" или "$", например _IDDT или &MONEY. Первое булевое и при обнаружение последовательности "IDDT" значение проперти "_IDDT" будет изменено на TRUE. Практически так же будет вести себя и $MONEY, с той лишь разницей, что к её значению будет добавлено +100. Ну и после обнаружения последовательности строка нажатых клавиш создается заново , чтобы избежать повторного срабатывания чита. Ниже КДПВ, код и ссылка на пример:

воскресенье, 12 августа 2018 г.

Еще один пример. На этот раз ограничения камеры.

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


   В принципе, достаточно сделать камеру потомком пустышки, на которой будет висеть скрипт, проверяющий координаты владельца и не давать пустышке выйти за установленные границы. Однако в данном случае есть небольшой нюанс, связанный с поворотом камеры:


   В первом случае, как раз и показана такая ситуация - камера будет вращаться по большой дуге, для какой-нибудь стратегии это вполне нормально, но что если нам надо сделать поворот камеры как "от первого лица", как во втором случае и при этом поле зрения не выходило сильно за границу. Правда понятия не имею, зачем бы такое могло понадобиться, но вот пример:

   Управление - WSAD, колесо мыши.