HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Самая большая карта (с большой проблемой)
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Reyond
Новичок

Группа: Неопытный
Дата регистрации: Apr 2020
Проживает: Москва
Сообщений: 7

Рейтинг



Самая большая карта (с большой проблемой)

Друзья, всем добрый день! Это длинный пост и сразу скажу что он не связан напрямую с маппингом для игр на движке GoldSrc и это скорее крик о помощи! Я прошу вас прочитать мой пост до конца, так как даже если вы не знаете как мне помочь, то я думаю вам будет интересно узнать что я пытался сделать и что у меня не получилось.

Начнем с того, что у нас есть небольшое сообщество, где мы создаем небольшие моды на Quake и его форки. Как-то раз я наткнулся на мод под названием Freecs. Он заключался в том, что добавлял в форк FTE Quake поддержку CS 1.5. То есть буквально можно было бы положить оригинальную папку игры cs 1.5, и из нее считывались все модели, звуки, партикли, спрайты, текстуры и т.д. С той лишь разницей, что все это запускалось на более продвинутом движке. Для меня большой плюс был в том, что весь код написан на языке QuakeC, на котором написаны многие наши моды и с которым хорошо знаком один из разработчиков в нашем сообществе. Этот мод просто перевернул моё сознание. Можно было взять ту самую кс, и создать в ней почти что угодно. Я сразу представил себе огромную карту, с хорошей (в сравнении с оригинальной cs 1.5/1.6) графикой, с различным транспортом, с масштабным дезматчем. С тех самых пор мы написали небольшой концепт и сделали дезматч со спавном оружия в случайных местах, с системой редкости оружия, с отдельными предметами патронов, с дропом денег и для дальнейшего развития не хватало только большой добротной карты. Вот тут и есть вся загвоздка...

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



Здесь вы можете видеть примерные размеры карты:



И ещё пара скриншотов:











Мы активно использовали Quake 3 шейдеры, например здесь даже занавески в окнах качаются:







Некоторые здания являются копиями реальных.

Например, усадьба Абрамцево:



Или здание Казанского Федерального Университета:



Проблема в том, что попытка создать на движке не предназначенном для открытых карт, открытую городскую карту, привело к тому, что FPS на карте стал дико проседать. Огромное количество деталей, районы, состоящие из десятков элементов фасадов домов - все это сильно влияло на производительность. Стало понятно что продолжать делать карту без оптимизации просто невозможно и нужно что-то с этим делать. В качестве решения решили сделать систему LOD (Load on distance). Она заключалась в том, что подменяет детальную модель на её низкополигональную копию. И мы-таки её сделали. Прямо через QuakeC, а как она работает можете посмотреть у меня на канале:

ВИДЕО ТУТ

Эта система хороша тем, что реально повышает FPS, и при этом легко внедряется в любые Quake форки. Соответственно мы сделали каждый дом в новом районе bsp моделькой, но столкнулись с большой проблемой - компилятор q3map2 не может включить в обработку освещения наши дома. Получается так, что мы просто не можем сделать карту с адекватным lightmap освещением. А без него карта не смотрится никак от слова совсем. Во-вторых в quake 3 нельзя было делать бсп модели, а соответственно в любых редакторах для quake 3 нельзя увидеть в редакторе правильно ли вы выставили bsp модель. Из-за этого карту приходится комплировать 20 раз на день и каждый раз проверять в игре в правильном ли месте ты выставил дом.

Тем не менее, я очень надеюсь, что на этом форуме найдутся люди, которые раньше уже умели работать с компиляторами, вполне возможно вы работали с плагинами для radiant, возможно редактировали код trenchbroom. Если вы знаете как мне помочь, то очень прошу помогите мне сделать, чтобы компилятор q3map2 мог обрабатывать освещение для моих lod'ов. Если кто-то знает как научить radiant отображать бсп модели в режиме quake 3, то я так же приветствую любую помощь с этим. Да и вообще я был бы рад услышать что вы обо всем этом думаете.

P.S. Для работы над этой картой постаралось немало людей, которые потратили много времени, сил, нервов. Некоторых мапперов мне пришлось обучить с нуля. К многим людям, кто раньше работал с компиляторами я уже пытался обращаться, но получал либо отказ, либо игнорирование. Прошу, если вы можете хоть как-то помочь, то это будет очень важно для меня, да и для всех, кто работал над этой картой. Большой респект вам, если дочитали это до конца.

Сообщить модератору | | IP: Записан
Сообщение: 192428

Старое сообщение 18-04-2020 08:33
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



FTE он же дико нестабильный сам по себе, а поддержка халфы там еще глючнее чем сам FTE. Я вообще удивляюсь что вы на этой связке смогли сделать что-то достойное. Наверное у вас в запасе было много жизненных сил.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 192430

Старое сообщение 18-04-2020 09:11
-
Reyond
Новичок

Группа: Неопытный
Дата регистрации: Apr 2020
Проживает: Москва
Сообщений: 7

Рейтинг



Дядя Миша, спасибо, что ответили! Эту карту мы делали очень долго, в свободное от работы/учебы время. Сил потрачено немерено. Да, поддержка counter-strike 1.5 доделана не до конца, возможно мы откажемся на мод именно для нее, возможно свой самостоятельный мод сделаем. Но саму локацию мы очень хотим закончить. Двигаться дальше без поддержки освещения наших лодов в компиляторе мы просто не можем. Нам очень нужна помощь с этим. К кому мы уже только не обращались, но нам советовали обратиться именно на форум hlfx и нам говорили, что возможно Дядя Миша с этим сможет помочь.

Не могли бы вы, пожалуйста, помочь нам сделать компилятор? У меня есть даже мод с тестовой картой (потому что вся городская карта со светом компилится несколько суток). Не могли бы вы, пожалуйста, посмотреть его? Если нужно я могу скинуть всю карту целиком. Можете использовать карту и модели домов где угодно для любых своих разработок, только напишите.

Вот ссылка:

https://drive.google.com/file/d/1GE...ohksaPrkiJ/view

Сообщить модератору | | IP: Записан
Сообщение: 192431

Старое сообщение 18-04-2020 09:40
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Сделать я конечно могу, но бесплатно этим заниматься точно не буду.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 192433

Старое сообщение 18-04-2020 10:00
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4420
Возраст: 34

Рейтинг



Reyond не хотелось бы чтобы ваша работа утекла куда-то раньше времени, поэтому ссылку на неё лучше либо удалить и послать в ЛС, либо обернуть в тэг [hidе] [/hidе]

Добавлено 18-04-2020 в 17:13:

п.с. а какого размера вся карта?

Сообщить модератору | | IP: Записан
Сообщение: 192435

Старое сообщение 18-04-2020 10:13
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12893
Возраст: 32

Рейтинг



Единственное что тут можно сделать, так это опустить потолок до уровня крыш, а от самих крыш выстроить стены с текстурой неба до потолка, чтобы улицы превратились в закрытые корридоры. Типа как здесь:


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

Потом у тебя вся детализация фасадов тоже сделана брашами, это плохо. Рамы и перила особенно. Убери эту фигню и замени её либо на модели, либо на текстуры с прозрачностью. Всякую мелочь преврати в фанк_детейл или илюженари.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 18-04-2020 в 10:29

Сообщить модератору | | IP: Записан
Сообщение: 192436

Старое сообщение 18-04-2020 10:21
- За что?
Reyond
Новичок

Группа: Неопытный
Дата регистрации: Apr 2020
Проживает: Москва
Сообщений: 7

Рейтинг



Crystallize вы можете спокойно скачать файл, там пока просто один дом на асфальте. Можете тоже скачать и посмотреть как работает LOD

Сообщить модератору | | IP: Записан
Сообщение: 192437

Старое сообщение 18-04-2020 10:27
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



FiEctro ну так они и используют лоды, потому что виз не поможет

Сообщить модератору | | IP: Записан
Сообщение: 192440

Старое сообщение 18-04-2020 13:04
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12893
Возраст: 32

Рейтинг



ncuxonaT
Здесь как мёртвому припадки эти ваши LODы.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 192442

Старое сообщение 18-04-2020 13:28
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



FiEctro ну не скажи, 50 треугольников против 16к на каждый дом - это неплохо

Сообщить модератору | | IP: Записан
Сообщение: 192443

Старое сообщение 18-04-2020 13:38
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
в бсп нет понятия открытых пространств

Ну зачем глупость говоришь. БСП - это метод индексации пространства, ему всё равно, открытое оно, закрытое, да хоть какое.

Цитата:
FiEctro писал:
виз заточен больше под корридорообразные пространства

На открытом пространстве его можно заставить работать, например фтумани - отсекать по дальности. В кутри были такие карты.

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

Добавлено 18-04-2020 в 17:55:

Там с этим отсечением по дальности тумана какая хитрость - принудительно включается glClear и пустые места окрашиваются в цвет тумана.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 192452

Старое сообщение 18-04-2020 14:55
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12893
Возраст: 32

Рейтинг



Мне вот интересно другое, а чему там глючить? По современным меркам брашевые карты имеют смехотворное количество полигонов. Лайтмапа жрёт?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 192454

Старое сообщение 18-04-2020 15:35
- За что?
Reyond
Новичок

Группа: Неопытный
Дата регистрации: Apr 2020
Проживает: Москва
Сообщений: 7

Рейтинг



FiEctro, спасибо за то что предложил оптмизировать стандартным hl/quake способом. Но в моём случае это не работает, потому что слишком большая детализация. А закрытие крыш сделает город недоступным для просмотра с высоких зданий. Из-за этого мы изменили сам принцип оптимизации, чтобы он был больше похож на то, что используется в играх с открытыми пространствами. Откуда у вас такая не любовь к лодам мне непонятно. Лоды же работают и работают хорошо, уменьшается количество полигонов, которые одновременно можешь увидеть, причем очень существенно. ФПС от этого заметно возрастает. Другое дело, что мы не можем освещение для них сделать, это да.

Карта брашевая, но очень детальная, я же написал в первом посте.

Сообщить модератору | | IP: Записан
Сообщение: 192455

Старое сообщение 18-04-2020 16:11
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
По современным меркам брашевые карты имеют смехотворное количество полигонов

Рендеринг неоптимизированный для современного конвейера. Причём там нельзя просто в каком-то одном месте подшаманить, тут весь пайплайн надо менять. Собсно, чем я щас и занимаюсь для NT. Может быть потом напишу большую статью о причинах тормозов.

Цитата:
Reyond писал:
потому что слишком большая детализация

Слишком большая - это сколько полигонов в кадре? Миллиард?

Цитата:
Reyond писал:
Откуда у вас такая не любовь к лодам мне непонятно

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

Кстати какой размер в юнитах у твоей карты?

Добавлено 18-04-2020 в 19:50:

Вообще эти брашевые домики можно было попробовать из bsp сконвертировать в ase (есть у q3map2 такой ключ), а потом вставить на карту при помощи misc_model у который выставлен спаунфлаг 4 (коллизия).
И будут конечно тени и свет от них нормальный. И кое-какая коллизия.
Лодов конечно не будет, но зато эти модельки худо-бедно стрипифицируются и наверное будут рисоваться быстрее чем сейчас.
BSP для моделей не годится абсолютно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 192457

Старое сообщение 18-04-2020 16:50
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Человек говорит, что уже сделал ЛОДы и фпс вырос до приемлемого уровня, нужно только освещение посчитать. А ему начинают рассказывать, что это всё неправильно.

Сообщить модератору | | IP: Записан
Сообщение: 192459

Старое сообщение 18-04-2020 16:50
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 04:30. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Самая большая карта (с большой проблемой)
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024