forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Tower Defense 3D (http://forum.boolean.name/showthread.php?t=15392)

pozitiffcat 28.09.2011 17:05

Ответ: Tower Defense 3D
 
Блин у меня тут похлеще проблемка, короче компилю игру, запускаю под отладчиком в debug режиме все окей, в release все окей. Если я запускаю прогу не из Visual Studio то она вываливается с непонятной ошибкой, я даже логи поставил, отваливается всегда в разных местах, я вшоке!! :wild:

moka 28.09.2011 18:11

Ответ: Tower Defense 3D
 
И на сколько большая эта текстура?

HolyDel 28.09.2011 18:13

Ответ: Tower Defense 3D
 
забыл проинициализировать переменную класса.
когда запускаешь из-под студии - они инициализируются нулем. когда нет - там мусор (если явно не инициализировать)

pozitiffcat 28.09.2011 19:09

Ответ: Tower Defense 3D
 
Цитата:

Сообщение от MoKa (Сообщение 203716)
И на сколько большая эта текстура?

2048x2048

moka 28.09.2011 19:14

Ответ: Tower Defense 3D
 
Не проще ли иметь пару тайл текстур (например 4), и одну текстуру маску. Получиться 4 текстуры по 64х64, и одна 256х256. В результате будет выглядеть красивее, это раз, во вторых чтобы перерисовать слои, нада тупо поменять текстуру маску, и всего-то.
Это будет также производительно, если не производительнее, чем одна убер текстура..
Можно в виде маски, использовать цвет вершин, и реализовать динамичную рисовалку если хочется, где в редакторе дорога будет автоматом под вайпоинтами.

pozitiffcat 28.09.2011 20:32

Ответ: Tower Defense 3D
 
вот в этом я совсем не шарю, как там с масками рисовать и тайлами. Просто я урок какойто по 3д максу смотрел там так делали как я
Зы. проблему с debug и release решил, там в массив из 10 значений писалось 11, в итоге память портилась, охренеть, эту ошибку практически невозможно отследить:crazy:

pozitiffcat 28.09.2011 20:57

Ответ: Tower Defense 3D
 
Кому интересно, вот патчик с плавным поворотом мобов
http://rghost.ru/23413521

moka 28.09.2011 21:16

Ответ: Tower Defense 3D
 
Тогда поддержу Олега - не вижу смысла использования Xors3D, если ты не используешь фичи, которые направлены на улучшение "жизни", и создания реально хороших няшек, которые с DX7 не реализуемы.

pozitiffcat 28.09.2011 22:36

Ответ: Tower Defense 3D
 
уже работает переход между уровнями, пока дебаг версия, не выкладывал демку, вот видео, будут добавлены летающие монстры и соответствующие пушки Заценить видео

Reizel 29.09.2011 13:52

Ответ: Tower Defense 3D
 
Цитата:

Сообщение от MoKa (Сообщение 203731)
Можно в виде маски, использовать цвет вершин, и реализовать динамичную рисовалку если хочется, где в редакторе дорога будет автоматом под вайпоинтами.

Вот это тема! что то я не подумал, хотел дороги на ландшафте делать отдельным мешем...
Сделаю динамичные дороги и тропинки (типа если несколько солдат прошло не раз по одному пути - рисуем там "тропинку" :)

Dzirt 29.09.2011 13:54

Ответ: Tower Defense 3D
 
Мне импонирует настрой автора! =)

moka 29.09.2011 13:56

Ответ: Tower Defense 3D
 
С вершинами будет не так детально, чем если с доп текстурой.
Кстати я там подсчитал, можно 5 текстур одной маской уместить:
1. R
2. G
3. B
4. A
5. 255 - (R+G+B+A) (типо если сумма каналов например 0, то будет чёрная, а это другая текстура).
Поэтому тут соблюдаем одно правило: сумма каналов == 255, иначе будет смесь с 5ой текстурой.
Это как к цвету пикселей, так и к цвету вершин относится.
Можно вообще сделать используя цвет вершин сделать например ещё разные "тайл сеты". Для погоды или уровня и т.п.
Но это другая тема.

А насчёт дорог, лучше делать доп текстурой маской, т.к. она будет детальнее чем вершины.

Taugeshtu 29.09.2011 15:39

Ответ: Tower Defense 3D
 
Цитата:

Кстати я там подсчитал, можно 5 текстур одной маской уместить
В своё время практиковал хитропопое решение задачки:
Маска пишется в альфа-канал диффузной текстуры. Устанавливаем тайлинг, смещение для текстуры, а маску читаем без этих значений... Как результат - не нужна доп. текстура-маска. Но это наверное из разряда извращений, ибо нельзя иметь маску и текстуру в разных разрешениях. То есть решение не универсальное.

Цитата:

А насчёт дорог
вот кстати, любопытная задачка:
Ландшафт. Вейпоинты. Нужно проложить дорогу, но не просто "асфальт", а из текстуры с разметкой, т.е. направленную. Ничего умнее доп. меша, повторяющего поверхность ландшафта, мне пока в голову не идёт... Может быть, есть возможность придумать хитрую математику, запаковывающую в маску информацию об ориентации текстуры, и тогда модифицировать текстурные координаты...

moka 29.09.2011 16:17

Ответ: Tower Defense 3D
 
Цитата:

Сообщение от Taugeshtu (Сообщение 203807)
В своё время практиковал хитропопое решение задачки:
Маска пишется в альфа-канал диффузной текстуры. Устанавливаем тайлинг, смещение для текстуры, а маску читаем без этих значений... Как результат - не нужна доп. текстура-маска. Но это наверное из разряда извращений, ибо нельзя иметь маску и текстуру в разных разрешениях. То есть решение не универсальное.

Один плюс - это экономия видео памяти.
Минусы:
1. Технически чтение из текстур в шейдере будет таким же, т.к. всё равно нужно делать две выборки по разным текстурным координатам.
2. Только два слоя, т.к. на один канал много не уместишь. Можно сделать больше слоёв, но переходы между ними будут более "лесенчатыми".

Цитата:

Сообщение от Taugeshtu (Сообщение 203807)
вот кстати, любопытная задачка:
Ландшафт. Вейпоинты. Нужно проложить дорогу, но не просто "асфальт", а из текстуры с разметкой, т.е. направленную. Ничего умнее доп. меша, повторяющего поверхность ландшафта, мне пока в голову не идёт... Может быть, есть возможность придумать хитрую математику, запаковывающую в маску информацию об ориентации текстуры, и тогда модифицировать текстурные координаты...

Если это FPS или RPG, то лучше делать таки декалей на ландшафте, как делают везде.
Но если это стратежка, или игрулька с высоко подвешанной камерой, то можно сделать так:
В R канале хранить степень смещения влево/вправо, а в G канале вектор направления дороги. Но G канал нужно как-то затайлить, чтобы он не был постоянным, а длина вектора плавно шла от 0.0 до 1.0 и циклилась. При этом скорость изменения длины будет зависеть от вектора направления самой дороги. Получается что мы сможем сделать текстурные координаты для дороги, но нужно также в B канале держать маску - есть/нету дороги.
Получается эта тестура будет давать инфу о текстурных координатах для выборки из тайленной текстуры дороги, и плюс маску.
Сгенерировать такую текстуру не просто, в динамике думаю возможно, но не просто.
Можно ещё другой вариант, "более живой". Суть у него такая, что в RG будет содержаться вектор направления движения по пикселям. А B канал, степень частости перемещения по нему. Исходя из RG канала, и вектора направления нужно крутить тайленную текстуру и выбирать исходя из этого, а B канал, будет снова степенью - маской. Таким образом направления дорог, будет адаптируемо, получается почти как Volumetric Smoke :)
Но снова, вопросом стоит как текстурные координаты покрутить для выборки. Но там будет скорее текстура земли разъезжанная вертикально. С кучей следов по вертикали.

pozitiffcat 29.09.2011 16:53

Ответ: Tower Defense 3D
 

что я сеня натворил, не выкладывал релиз, гуй подпилю, и выпущу следующую демку уже с двумя уровнями, в 1 левеле доступно 2 пушки и 2 вида противника + босс вконце, во втором уже будут летающие противники + те что из 1 уровня


Часовой пояс GMT +4, время: 06:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot