Скрины
|
|
ninth | Дата: Воскресенье, 03.04.2011, 21:27 | Сообщение # 1 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Чтоб новый раздел не пустовал сразу добавлю немного скринов ) Это игровое поле (в будущем... возможно =)). Фишка поля в том, что оно построено не из квадратов или хексов, а из треугольников ) Ну и конечно, генерится рандомно. Общий вид с сеткой Без сетки Приближение
|
|
| |
dis_node | Дата: Воскресенье, 03.04.2011, 22:58 | Сообщение # 2 |
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
| поле это только геометрия или объект с интерфейсом типа "позиция А:10"="вода"? деревья процедурно размещал или импорт? Мне бы пригодилось поле с интерфейсом типа "шахматная доска" ). считаю тема дублирует темы "проекты", "wip", или проект это никак не меньше чем готовая игра?
Сообщение отредактировал dis_node - Воскресенье, 03.04.2011, 23:13 |
|
| |
ninth | Дата: Понедельник, 04.04.2011, 01:30 | Сообщение # 3 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Quote (dis_node) поле это только геометрия или объект с интерфейсом типа "позиция А:10"="вода"? У меня это аж 3 с хвостом модуля: 1. Математическая модель - расчёт координат вершин, поворота и центров треугольников, конвертация обычных трёхмерных координат в инднекс треугольника и индекс ближайшей вершины для выбора с помощью мыши. 2. Данные - собсно генерация местности, т.е. определение содержимого каждого треугольника. Данные фактически не зависят от математики. 3. Визуализация - построение на основе первого и второго сетки и геометрии. + вспомогательные. Quote (dis_node) деревья процедурно размещал или импорт? Я бы назвал это паттернами ) - импортируется кусочек, заимающий один треугольник и из него собирается лес. Благодаря тому что треугольники повёрнуты по-разному достигается определённая рандомизация,так что одинаковые куски в глаза не бросаются. Quote (dis_node) Мне бы пригодилось поле с интерфейсом типа "шахматная доска" ). Довольно расплывчато - под этим можно понимать много чего. В самом простом случае - это двухмерный массив из объектов ) Можно и в одномерный при желании свернуть, но это лишние пересчёты. Да и математика для квадрата простая т.к. по факту работаем с той же декартовой системой координат. Там конечно ещё можно вертеть с вариантами перемещения прямо/по диагонали, но это уже конкретика и смотреть надо по ситуации. Хотя я считаю перемещение по диагонали извратом - это равноценно перемещению через угол в шести или трёхгранниках ) Quote (dis_node) считаю тема дублирует темы "проекты" Не совсем, ИМХО. Цель данного раздела показать чего вы достигли - сложный шейдер или расчёт, процедурная генерация или красивая демосцена. Вот просто так "йа смог! йа молодец!". Ну или просто поддержать себя/подстегнуть других ). В моём случае это сам факт успешной ну или относительно успешной работы с треугольником в качестве поля. В отличае от "примеров кода" не надо заморачиваться на то, что это должно быть реюзабельно (скопировал-вставил-заработало). Моё поле, например, в том виде в котром сейчас без перепиливания под себя вряд ли кому-то пригодится. Хоя если хочется ковырять код - выложу, только не жалуйтесь, что я не предупреждал =) В отличае от "проектов"... хм... ну не готов я это назвать проектом или как-то так, так же как например демо-сцену ). Это наверно ближе всего к разделу WiP, но я не подумав сделал его закрытым. Возможно реорганизую и переименую этот как WiP.
|
|
| |
dis_node | Дата: Понедельник, 04.04.2011, 21:07 | Сообщение # 4 |
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
| а содержимое треугольника как выбирается, если рандомно ето ж логику ландшафта над забацать? зачем выбор вершины мышью если ландшафт генерится случайно ? активная ячейка - треугольник, путь от треугольника к треугольнику как? не получится зиг-зиг ?
|
|
| |
ninth | Дата: Вторник, 05.04.2011, 02:12 | Сообщение # 5 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Quote (dis_node) ето ж логику ландшафта над забацать Логики особой нету - в основном рандом. Единственное, при рандоме учитываются соседние сектора чтобы получались более менее крупные "сборки" а не лоскутное одеяло и после основной генерации подчищаются одиночки. Соотношение задаётся коэффициентами примерно так return sample * 9 + ['water',] + ['sand',] + ['grass',] * 3 + ['rock',] + ['forest',] здесь sample - список с инфой о "соседях" после чего из полученного итогового списка выбирается случайный элемент. Quote (dis_node) зачем выбор вершины мышью просто с полем можно работать используя в качестве координат как вершины так и центры n-угольников и даже грани. Хороший пример - настольная игра "Поселенцы" - там в качестве полей шестиугольники, но при этом используются все названные варианты. По граням строят дороги, по вершинам - поселения, а площадь отвечает за ресурсы. Quote (dis_node) не получится зиг-зиг ? Любой n-угольник в качестве поля даст зигзаг т.к. при классическом использовании углы поворотов у нас фиксированы = 360/n, т.е. для квадрата - это наши любимые 90, для хекса - 60, для треугольника - 120 ну и т.д. А насколько оно зигзагообразное - ну вот я как раз сегодня над базовым поиском пути работал, так что очередной скрин: Белым - собсно путь; зелёное - проходимые клетки; красное - непроходимые
|
|
| |
dis_node | Дата: Вторник, 05.04.2011, 18:34 | Сообщение # 6 |
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
| Под что делаешь та, ни может быть шоб ради науки? Как на счет урбанистического пейзажа? Мне кажется (и я перекрестилса) над треугольником должен быть еще логический слой - 'группа треугольников', тогда можно играть частями размещенного объекта.
Сообщение отредактировал dis_node - Вторник, 05.04.2011, 18:51 |
|
| |
ninth | Дата: Среда, 06.04.2011, 02:06 | Сообщение # 7 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Quote (dis_node) ни может быть шоб ради науки Ну да есть одна задумка - прицел на неё, но я её столько раз уже начинал заново, что особо иллюзий насчёт "очередной попытки" не питаю) Quote (dis_node) Как на счет урбанистического пейзажа? Идея висела в воздухе, ты только подтолкнул )) Темизация. Попробую подкорректировать чтобы можно было делать "темы". Quote (dis_node) логический слой - 'группа треугольников' Поясни мысль - не совсем понял. Сейчас там два слоя по-сути: земля и объекты на земле, но кажется ты имел ввиду что-то другое.
|
|
| |
dis_node | Дата: Среда, 06.04.2011, 21:27 | Сообщение # 8 |
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
| Quote (dis_node) ... над треугольником должен быть еще логический слой Я так понимаю что треугольник - "единица измерения" площади, если какой-нить куст занимает 1 треугольник то здание должно занимать N>>1 треугольников, чисто масштаб. Здание может иметь составную модель (поэтапное строительство или разрушение), треугольник желательно сопоставить отдельной части объекта, урон приходится на треугольник, а анимируется соответствующая часть. Вот и получается что нужен надслой инфы где треугольники разложены по объектам, жесть короче. Думаеццо, одной сетки размещения мало, нужно столько сколь кратен размер самого крупного объекта к самому мелкому ("треугольники в треугольнике"), на каком-нить уровне возможен переход к шестиугольникам. Заполнение по треугольникам в плане выглядит угловато.
Сообщение отредактировал dis_node - Среда, 06.04.2011, 22:46 |
|
| |
ninth | Дата: Среда, 06.04.2011, 23:02 | Сообщение # 9 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Хм, у меня задачи размещать нечто, занимающее несколько клеток небыло - т.е. треугольник - максимальная единица площади - это что-то типа глобальной стратегической карты. Но вообще над этим можно подумать. Я даже думал насчёт прохода по полю после генерации и замены крупных кусков отдельными моделями - но это для красоты - функционально никаких изменений в таких объектах не планировалось.
|
|
| |
ninth | Дата: Четверг, 07.04.2011, 04:30 | Сообщение # 10 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Привинтил стилизацию. Стили загружаются из пандовских мультифайлов. http://narod.yandex.ru/disk/9511052001/maptest.7z
|
|
| |
dis_node | Дата: Четверг, 07.04.2011, 21:41 | Сообщение # 11 |
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
| О с Шереметьево когда взлетаешь похожая картина предстает )), для авиасима хоть щас пользуй. Термин "стиль" у меня вызывает другие ассоциации, лучше что-нибуть техническое (архитектурное) типа landscape, plan - ну дело вкуса конешн. На линейном участке трассы можно аппроксмровать начальным и конечным поликом, слыхал об алгоритмах трассировки (печатных плат в частности)?
|
|
| |
ninth | Дата: Четверг, 07.04.2011, 23:05 | Сообщение # 12 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Quote (dis_node) для авиасима хоть щас пользуй Не, для авиасима слишком нерацональный расход ресурсов - карта 30х30 - та что в начале поста представлена >16K треугольников 7304 total nodes (including 0 instances); 0 LODNodes. 2952 transforms; 27% of nodes have some render attribute. 4939 Geoms, with 1692 GeomVertexDatas and 3 GeomVertexFormats, appear on 4939 GeomNodes. 10292 vertices, 200 normals, 10092 colors, 200 texture coordinates. GeomVertexData arrays occupy 169K memory. GeomPrimitive arrays occupy 1K memory. 12 GeomVertexArrayDatas are redundant, wasting 1K. 6 GeomPrimitive arrays are redundant, wasting 1K. 16129 triangles: 5068 of these are on 2534 tristrips (2 average tris per strip). 11061 of these are independent triangles. 5046 lines, 0 points. 10 textures, estimated minimum 10240K texture memory required. "Стиль" - это у меня ассоциации с веб-вёрсткой, где стилями можно кардинально изменить внешний вид, при этом функционал и код страницы останется старый. Quote (dis_node) слыхал об алгоритмах трассировки Да, даже в действии видел ) Суть та-же - поиск кратчайшего пути, только усложнённый дополнительными условиями. Касабельно линейного участка - это скорее от стиля карты зависит - для урбанистического пейзажа лучше конечно линейные, а вот для природного, ИМХО, кривые дорожки симпатишнее смотрятся.
|
|
| |