Ответ: I.D.S. MONSTERS
Итак, по своему же принципу из блитца, научил движок
визуализировать координатную сетку мешем. Сколько клеток, столько полигонов, один полигон состоит из двух триангл. В будущем на нужный полигон будем натягивать необходимую в данный момент текстуру клетки. Билд выкладывать смысла не вижу, вы там просто очередную плоскость увидите. Код создания сетки полигонами: |
Ответ: I.D.S. MONSTERS
Для меня лично хреновенькие новости.
Юнити оказался более убогим инструментом, чем мне думалось. К сожалению в нём нет никакой встроенной функции, чтобы программно натягивать текстуры на выбранный полигон. Совсем нет! Можно цвет вершин менять, как в блитце, но это простите пещерный век. Мою задачу может решить только самодельный шейдер, т.е. самому лично написать. Шейдеры это у нас (HLSL, GLSL, Cg, ASM), ни того ни другого, ни третьего, ни четвёртого я не знаю, и всандалить кучу времени на изучение данного вопроса для создания мать его одного эффекта всего лишь, я не могу. Такими темпами я буду игру создавать вплоть до полной колонизации галактики человечеством. Меняем стратегию. У меня родилось 3 варианта, которые я рассматриваю: 1. Вырезаем ненужные или нужные полигоны из меша сетки, при этом у нас будет 2 сетки, на одной тайловая текстура проходимых клеток, на второй непроходимых. 2. Не режем полигоны, а разворачиваем их нормали в противоположную сторону от камеры, так же всё в связке с 2 сетками. 3. Создаём меш из клеток нужной формы, и ставим на нужные координаты поверх сетки, наносим на него тайловую текстуру клеток непроходимости. Я пока не знаю что дешевле, вырезать дырки в меше, разворачивать нормали, или генерить каждый раз новый небольшой меш. Но в любом случае все эти варианты дешевле, чем создавать каждую клетку отдельным мешем, вы только вдуууумайтесь какая жопа будет, если я решу создать поле размером 100 на 100 клеток отдельными мешами, этот вариант точно не вариант. P.s. Ещё один вариант-не вариант это генерить текстуру сетки. отрисовывая на ней клетки проходимости и непроходимости, и перенатягивать на меш-сетку. Нунах. |
Ответ: I.D.S. MONSTERS
Цитата:
Сколько у тебя будет клеток? Если 50х50 — делай тупо отдельным GameObject'ами и не трать время на premature-оптимизацию. |
Ответ: I.D.S. MONSTERS
Цитата:
увеличению класса монстров в бое. На финальном боссе точно будет около 100 на 100. Как я писал ранее: Цитата:
будем смотреть кто самый крутой в бое, и под него подгонять поле. Решил визуализировать выделение созданием отдельного меша. Начал уже писать скрипт, на базе уже существующего генератора меша, надо доработать. Через несколько дней надеюсь будет билда. |
Ответ: I.D.S. MONSTERS
В данный момент выкладка билды смысла не имеет,
решил запилить отчёт девблогом: Код: |
Ответ: I.D.S. MONSTERS
Вложений: 1
Вот так по симпатичней уже.
Напомню в рендере всего 2 меша с 2 текстурами (если не считать капсулу монстра). Вполне дёшего по моему. Если делать все клетки отдельными мешами, то в кадре было бы на 123 меша больше, т.е. в 62,5 раза больше мешей. P.s. Всё-таки билду решил приложить: ТЫК Нажатие пробела переносит нас в сцену боя, в сцене боя нажатие пробела создаёт сетку хождения монстра. |
Ответ: I.D.S. MONSTERS
Вложений: 1
Пост оффтопный.
Я много видел плагиата на вселенную покемонов, но что-бы на столько нагло, в первый раз: ТЫЫЫК Вообще ни стыда не совести, все монстры здесь это покемоны из официальной вселенной, и имеют некоторые незначительные отличия, ну не так уши загнуты, или на них одежда надета. А чо так можно было? Даже музыка в игре, это каверы на музыку из покемонов. Сцука да вот даже картинка, на которой в наглую срисованы как минимум Чаризард, Бульбазавр, и Вартотл: Оригиналы: А это блин например вообще ни разу не пикачу скрещенный с райчу? Оригиналы: Вот у них хантэр, чармандэр, и дратини например: Но зовут их конечно каспес, дино, и дракоша. А оригиналы вот: Дратини и Драгонэир Я не понимаю, в чём проблема придумать СВОИХ монстров блэт? Для меня например не было никакой проблемой придумать какого-нибудь дуплуса, который прикреплён к посту, так в чём проблема у таких плагиаторов? Полное отсутствие фантазии, или попытка надурить детишек выдавая себя за то, чем не являются? У меня всегда бомбит, когда я вижу клоны, не в плане копирования механик, а тупо клоны, типа как штаны ADIBASS. |
Ответ: I.D.S. MONSTERS
Цитата:
|
Ответ: I.D.S. MONSTERS
Цитата:
По тому что глядя на такой высер, появляется лишь желание обоссать лица авторам плагиата. |
Ответ: I.D.S. MONSTERS
Что-то взрослая жизнь бьёт временем по щекам.
Первый раз за 3 дня нашёл полтора часа по кодить. Нашёл страшную недоработку сетки монстра, если одновременно сетка выползала за обе координаты игрового поля ниже 0, то сетка подрезалась, но не смещалась по Х вправо, а на оборот уезжала влево. Решил проблему добавлением этого участка кода: Код:
// Выравниваем сетку, когда её координаты вылезают за 0 по обеим осям Частично поглотил информацию, и научился клонировать своих монстров в нужном месте одной строчкой кода. Я считаю это прогресс для меня, лол ) В блитце это дело делалось через типы, а в юнити явно проще всё. Щас нужно будет сделать выделение монстра мышкой через луч, потом генератор монстров на карте, где мы персонажем бегаем, чтобы контакт с ними перекидывал нас на сцену боя. Сделать систему свой-чужой, и пошаговый бой, вот пока такие планы на ближайшее будущее. После реализации вышеописанного данную наработку можно уже официально будет считать игрой. |
Ответ: I.D.S. MONSTERS
Сегодня можно было плотно по программировать,
или посмотреть две новые серии ходячих мертвецов. В общем серии оказались полным говном )) Однако, сделал выделение монстров кликом мыши. Пришлось подзапариться с тем, как сделать чтобы выделялся только один, а также подзапариться с удаленем сетки уже выделенного монстра. Альфа вариант успешно функционирует ) В общем как сделать, чтобы не все префабы выделились при щелчке по одному из них, а только нужный? Проверить его координаты! Берём координаты префаба монстра, пускаем луч, сравниваем позицию префаба по осям X и Z с точкой падения луча. Если координаты префаба больше или равны координатам пика, то из координат префаба вычитаем координаты пика, ну и записываем результат по обеим осям в соответствующие переменные. Так-как у нас размер сетки 1 на 1, то проверяем числа в данных переменных, если они меньше чем 1.01, значит префаб находится в клетке куда мы луч пускали, префабу по этим координатам сетку мы и создадим. Участок кода отвечающий за определение пикнутого лучом монстра: Код:
Pickposition = TipaMonster.transform.position; А насчёт удаления сетки, когда мы куда-то в другое место пикнули, то удалять пришлось меш из мешфильтра, а не весь гейм обджект, я сначала пытался гейм обджект удалять, и новый из префаба вызывать, но то была проблемная хрень, удалить меш из мешфильтра умное решение. Удаляем так: Код:
if (SetkaDestroyer == 1 && SetkaDvijCreator == 3) Вот весь код на случай если кто ну очень любопытный. Предупреждаю, может втсречаться мусор, и неправильные комментарии, так-как я увлекаюсь самокопипастой, и ваще комментить уже впадлу стало. Смотреть мой форумный блог полезно тому, кто соберётся например своих героев меча и магии на юнити написать, я иду к этой механике, только она будет сложнее. Так что, не пропускайте ) Ах да, монстры из префабов вызываются сейчас так: Код:
void Start() |
Ответ: I.D.S. MONSTERS
Цитата:
Как в старые-добрые времена, когда чувствовал себя лохом, что посоны на форуме чё-то кодят а ты нет.:-D |
Ответ: I.D.S. MONSTERS
Цитата:
Я вот 10 лет почти искал. Бабы, мотоциклы, автомобили, онлайн игры, работа, сон в конце концов, не до проектов. Столько идей нереализованных. Деградировал, многое упустил в геймдеве. 3DMAX тоже открывал в 2012 году наверно последний раз, по этому в этом проекте я начну изучать блендер. Пока мы тут жили жизнью обычного человека, некоторые форумчане продолжили начинания, и уже живут жизнью необычного, так что надо брать пример. Ещё для меня хорошим примером стал "Крис Хант", он 12 лет разрабатывал Kenshi, и всё-таки релизнул, и она начала неплохо продаваться. До сих пор кстати игру дорабатывает, и продаёт. ТЫЫЫК |
Ответ: I.D.S. MONSTERS
Блин всё-таки этот сраный юнити, да в связке с сишарпом, адище то ещё.
Я сказал что префабы делают всё легче, чем типы в блитце? Забудьте! Это ад какой-то! Нет, не когда ты в префабах деревья да камни харнишь. а когда у тебя там боты мать их. Я тут дошёл до типов, слоёв, триггеров, и т.д. и это мне чуть пукан всё не порвало, на сколько всё по ублюдски сделано! Однако, прогресс: 1. Монстры теперь выполнены текстурой на плоском кваде, который всегда поворачивается на камеру (щас не до моделинга). И вот с этим поворачиванием я намаялся, всё никак не мог заставить одновременно всех ботов на камеру смотреть, всё решил в итоге параметр "This", кто знает, тот поймёт. 2. Теперь монстры имеют радиус обзора, реализованный через триггер, который отслеживает слой игрока, и если коллайдер игрока залез в триггер, монстр начинает за ним бежать. У монстра есть отсчёт времени бега, а также контроль зоны видимости. Пока игрок в зоне видимости, монстр за ним будет бежать, как только мы из зоны выйдем, монстр будет бежать по таймеру, который закончится. Убежать вполне реально. 3. Есть ещё один триггер, это уже на подход монстра вплотную проверка идёт, чтобы перекинуть нас на сцену боя. На сцене боя пока можно только по выделять монстров. ---- На самом деле на словах не так много реализовано, но игра уже состоит из 14 скриптовых файлов, кучи объектов, переменных. А эти млять триггеры, да слои мне таких проблем насоздавали, что абсолютно во всём предыдущем коде есть изменения. В общем ловите билду ТЫК , и тестите. Жду репорты о багах. |
Ответ: I.D.S. MONSTERS
|
Часовой пояс GMT +4, время: 09:14. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot