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

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

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


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

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

IDDQD

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

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

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

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


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


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

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

воскресенье, 1 июля 2018 г.

Поиск пути в ширину.

    Однако как-то прошел мимо меня алгоритм поиска пути в ширину, как бы знал о нем, но совершенно не интересовался, есть такой и ладно. А вот на днях заинтересовался, оказывается незаменимая вещь для игр жанра Tower Defense или даже для шутеров, везде где враги должны набегать на одинокую цель, или небольшое количество целей. И главное - простая. Причем, в силу своей простоты исполняется один раз, а дальше результатами может пользоваться куча юнитов, во всяком случае, пока цель не сдвинется с места. А ведь делал что-то подобное - генератор регионов для навигационных карт и даже не сообразил, вот что значит лень и отсутствие специализированного образования.

пятница, 15 июня 2018 г.

Фейковое освещение в БГЕ.

    Опять долго не писал, причина - перефразируя шутку из КВН - "беспробудное пьянство победило природную лень". И даже не буду обещать писать часто, хотя бы потому что BGE вроде как того... заменяется другим движком, который Armory3d - лично для меня довольно - таки демотивирующая новость, потому что для перехода на этот движок мне надо новый комп покупать, а я еще BGE толком не изучил. В общем одно не слишком стабильное изделие заменяется на другое, тоже не слишком стабильное. Мимо UPBGE я так же пролетаю, по той же причине. "О, на этом месте мы горько плачем и не можем писать в рифму!.."(с)

понедельник, 9 апреля 2018 г.

Балуюсь с туманом войны.

   Давным - давно, в одной очень далекой гала... еще на БУ обсуждался вопрос создания эффекта тумана войны с помощью кучи расставленных плейнов, которые бы перекрывали собой обзор из камеры в собственных координатах. И становились бы невидимыми, когда их сенсор показал бы приближение юнита, принадлежащего игроку. Тогда дело не пошло, потому что этих самых плейнов надо было очень много, чтобы перекрыть всю карту, я уже молчу о обработке сигналов сенсоров. А я тогда только - только изучать БГЕ и Питон начал, так что не сообразил, что  камера небольшое количество плейнов с собой таскать может по карте всей, остается только вычислить координату частицы тумана на карте и из списка этой координате извлечь значение видимости. Дальше уже дело техники. Вот мне это недавно в голову и пришло. Как говориться, лучше поздно, чем никогда... Ниже КДПВ и ссылка на черновик. Там еще пилить надо, но для понимания принципа оно уже вполне пригодно к употреблению.


воскресенье, 1 апреля 2018 г.

Баловался с материалом HALO в интернале.

   Прикидываю как текстуры всяких эффектов выстрелов, взрывов и прочего делать можно. Заодно смоделил болванку типа танчика, чтобы совсем пусто не было. А так пока ничего интересного.


среда, 21 марта 2018 г.

Хм...

    Немного поигрался с текстурой малого разрешения, внезапно оказалось что примерно так можно туман войны для ландшафта сделать. Получается конечно не так чтобы очень красиво, но на безрыбье и не так раскорячишься.

вторник, 20 марта 2018 г.

Снова здравствуйте...


И вот я снова дома. Вроде отоспался, выпил беларуской водки, поел нашего хлеба с нашей же колбасой, вкусно... Включил комп, и стал вспоминать, где какая клавиша для чего в Блендере нужна, а самый лучший способ вспомнить — что-нибудь сделать. Решил сделать пример полосы загрузки уровня и расстановки объектов, благо об этом когда-то просили, понимаю что давно это было, но лучше поздно, чем никогда. Ну и чтобы тупо не дублировать пост типа «вот скачайте пример, кому надо» попробую расписать работу примера поподробнее. Тем более, что склероз не дремлет, могу и сам забыть. Да, версия Блендера в примере 2.78а, более поздние у меня не идут, надо обновления на мой Линь поставить, но мне лень. Да и интернет у меня не сказать, что хорошего качества и не дешевый. Из-за качества интернета и общего устаревания системы этот пост решил набрать в LibreOffice, а потом просто скопипастить текст, чтобы избежать постоянных предпросмотров в самом Блоггере, тоже эксперимент получается.

пятница, 12 января 2018 г.

Не прошло и года, как я написал следующий пост.

    Ситуация такая получилась - комп у меня стационарный, а я сам почти всё прошедшее время в прямом смысле слова дома не был, вот на Новый год только домой приехал. А в телефоне я запустить Блендер не могу. Чистый же Питон сам по себе как-то не интересен, короче не получилось и не знаю как оно дальше будет продолжаться, вполне может статься, что опять год меня не будет. Хотелось бы летом дома побыть, но не уверен, что получится. Посмотрим.