При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Paranoia 2: Savior
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.03.2015, 01:28  #1
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию Скриншоты с процесса разработки

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

как видите тень здесь не ложится на модель, надо бы с этим что-то сделать.

Совсем другое дело. Это, конечно, тоже аппроксимация, но с учётом радиосити и включенной диффузной текстуры, погрешность будет незаметна даже мне. И что особенно ценно - фпс практически не просел. У меня простое использование floor отжирало больше, чем это освещение.
Но мешки это полдела. В игре полным-полно статичных моделей и все они должны получить такое освещение, чтобы картинка не распалась на части. В частности трубы. Ведь километры труб собираются из достаточно коротких отрезков, которые никак не связаны между собой.
А между тем, в глазах игрока эти отрезки должны выглядеть единым целым (кстати трубы "от кутюр" тоже набраны из кусочков, это не единая модель), и освещение должно быть соответствующим.
Так выглядит классическое освещение, с которым вы наверняка сталкивались, когда пытались добавить на карту детализацию модельками.

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

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

Немного скриншотов про работу с кубемапами:
- это стандартная стенка с тестового уровня test_dyn из первой паранои.

А вот и кубемапа-отражение. У меня с самого начала был вопрос о том, какие кубемапы использовать. Обычные классические хорошо работают только на выпуклых поверхностях, типа сферы. На стенах они выглядят как говно. Поэтому было принято решение использовать новомодные parallax-corrected кубемапы. Они конечно не отражают игрока, но зато статичное отражение выглядит весьма аутентично. Правда с ними была одна заморочка - для правильной работы параллакс-корректед кубемапы ей требуется примерный размер комнаты. Размер комнаты определяется автоматически, потому что, если бы его задавал маппер, то вы бы абсолютно во всех стеклах увидели исключительно размазню.
А так - хоть где-то нормальное отражение (например в стеклах верхнего этажа, когда выходишь из палаты, в дверях на лестничный пролет, итд).
Размер комнаты кубемапа определяет автоматичски "стреляя" из своего центра по шести аксиальным направлениям. Естественно где-то трасса может промахнуться и попасть в дверной проём, из-за кубемапу круто деформирует. Когда вы будете делать свои уровни под рендерер P2 - помните об этом.
Наверняка многих волнует вопрос, а можно ли размещать кубемапы на модельках? Ну чтож, вот вам порция скриншотов на этот случай.

Это товарищи глаз рядового Райанаальфовца безо всяких эффектов. Вы спросите, а зачем показывать безо всяких эффектов?
Нуу, в игре вы всё равно так близко к нему подлететь не сможете, смотрите хоть на картинке, как оно вблизи бывает

Это глаз еще без бампа, но со включенным простейшим спекуляром (он был в первой параное).


Это уже нормальный блик по фонгу, с учётом нормалмапы.
Ну и самое интересное:

И еще примерчег на больничной каталке:

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

update at 21.04.2015
При помощи ФиЭктры замутили поддержку совмещенных текстур.
ну это когда текстура наполовину полупрозрачная, наполовину - непрозрачная. В Half-Life2 так были устроены, например двери.
Вот что у нас получилось:

Это без бампа и без спекуляра. Давайте добавим бамп.

Используется одна нормалмапа, которую шейдер трактует по разному.
Там где стекла он делает преломления, а в остальных местах - для освещения.
Теперь добавим спекуляра:

Получилась законченная картинка. И не скажешь, что это одна текстура.
Ну и по просьбе ФиЭктры добавим еще кубомапу для отражения:


Продолжение следует...

Последний раз редактировалось Дядя Миша, 21.04.2015 в 01:56.
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 01:59  #2
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

Хотелось бы узнать технические подробности "а как оно работает?"
ncuxonaT вне форума Ответить с цитированием
Старый 06.03.2015, 02:51  #3
Camblu
Camblu
Tech Demo
Регистрация: 03.01.2010
Адрес: Tenebrarum Labs, Lietuvos Respublika
Сообщения: 4,259
Замечания: 16


По умолчанию

[ Цитата ] Сообщение от ncuxonaT: Хотелось бы узнать технические подробности "а как оно работает?"
Поддержу. А то - аппроксимиация, floor какие-то.
Camblu вне форума Ответить с цитированием
Старый 06.03.2015, 07:57  #4
ComradeAndrew
ComradeAndrew
๖ۣۜC++
Регистрация: 02.04.2010
Возраст: 24
Сообщения: 1,062
Замечания: 4


По умолчанию

2 Camblu:
Аппроксимация
[ Цитата ] Сообщение от Camblu: floor какие-то
Имелось в виду освещение с пола.
ComradeAndrew вне форума Ответить с цитированием
Старый 06.03.2015, 10:31  #5
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] Хотелось бы узнать технические подробности "а как оно работает?"
Помоему нормально работает. Разве нет?
[ Цитата ] Имелось в виду освещение с пола.
floor - функция округления вниз. Она очень тормозная.
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 14:22  #6
ComradeAndrew
ComradeAndrew
๖ۣۜC++
Регистрация: 02.04.2010
Возраст: 24
Сообщения: 1,062
Замечания: 4


По умолчанию

[ Цитата ] floor - функция округления вниз. Она очень тормозная.
Хм, даже так. Не очевидно в данном контексте со светом.
ComradeAndrew вне форума Ответить с цитированием
Старый 06.03.2015, 14:53  #7
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Ну я когда рендерер оптимизировал, увидел что использование функции floor роняет фпс с 2700 до 2300.
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 14:56  #8
OEUVRE
OEUVRE
Регистрация: 06.03.2013
Сообщения: 936
Замечания: 2


По умолчанию


Последний раз редактировалось OEUVRE, 02.10.2016 в 20:05.
OEUVRE вне форума Ответить с цитированием
Старый 06.03.2015, 15:18  #9
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 GioHΛUϟ0n: всегда приятно со знанием дела рассуждать о том, о чём не имеешь ни малейшего понятия. Особенно на кухне, где синим цветком горит газ.
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 15:45  #10
GNU/Hurt
GNU/Hurt
Maïté
Регистрация: 05.03.2014
Сообщения: 1,097


По умолчанию

2 Дядя Миша:
не жадничал, а рассказал бы. в контексте твоей статьи про quake-освещение как то малопонятно откуда в параное статик модель освещение берёт. заметил, что освещение заметно отличается и в лучшую сторону. но ты там для неё что, что то вроде лайтгрида строишь по ближайшим стенам?
GNU/Hurt вне форума Ответить с цитированием
Старый 06.03.2015, 16:04  #11
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша:
нормально работает, но каков алгоритм?
ncuxonaT вне форума Ответить с цитированием
Старый 06.03.2015, 16:10  #12
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Вместо тысячи слов - r_drawentities 7
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 16:17  #13
Camblu
Camblu
Tech Demo
Регистрация: 03.01.2010
Адрес: Tenebrarum Labs, Lietuvos Respublika
Сообщения: 4,259
Замечания: 16


По умолчанию

2 GioHΛUϟ0n:
Той білд, котрий "unknown paranoia 2" - і так працює на рендері п1.
Camblu вне форума Ответить с цитированием
Старый 06.03.2015, 16:21  #14
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша:
освещение по 5 точкам, фиолетовые линии идут до ближайшего браша, уровень освещения берется с лайтмапы в точках пересечения, зеленые линии показывают направление света, оно берется с делюксмапы в тех же точках? А как определяется плоскость, в которой лежат эти 5 точек?
ncuxonaT вне форума Ответить с цитированием
Старый 06.03.2015, 17:24  #15
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Да, с делюкс-мапы. Плоскость не определяется никак, ты видно посмотрел мало моделек. Находится кратчайшее растояние до лайтмапы, что в большинстве случаев верно.

Дядя Миша, подумав, добавил 06.03.2015 в 17:25
И вдогонку - алогритм рассчитан на неопределенное число точек, кол-во сэмплов можно увеличить, даже не затрагивая шейдеры, единственная проблема - придумать места их размещения.

Последний раз редактировалось Дядя Миша, 06.03.2015 в 17:25.
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 17:49  #16
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 31
Сообщения: 863
Замечания: 1


По умолчанию

Сегодня ночью решил помаппать под старый добрый
COD: Modern Warfare, чтобы отвлечься от хаммера..
Побегав несколько минут в оригинальной игре - в голову пришла идея сделать анализ-сравнение
картинки П2 и COD'a MW(2007), и работы с ними.

Итакс, начнем:

коллизия моделей:
В CODe используется связка браша с моделью (префаб), чтобы задавать коллизию и тень от якобы модели.
В этом отношении П2 обыгрывает КОД по всем пунктам, т.к. модель использует коллизию с треугольноков, так и для тени, вне зависимости от сложности модели.

настройка материалов:
В CODe как мы знаем используется база кваки третьей, но особый формат в этих частей игры компилирует материал, где указываете сурфейс, группу сортировки - возможно с нормалкой и глоссом, и компилите как ассет. Порог вхождения средний.

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

В обеих играх имеют наличие рефлективные энтити, по-типу кубемап.

В обеих играх отсутствует физика.

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

В CODe имеется нормальный альфа-канал для текстур, в П2 мы имеем все те же дырявые текстуры от хл. Здесь большой минус.

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

Дядя Миша сделал все, для того чтобы любой из вас, имея ровные руки, чувство меры в работе с материалами - сможет сделать интересную игрушку на уровне Call of Duty MW.

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

Последний раз редактировалось ElbeR, 06.03.2015 в 17:59.
ElbeR вне форума Ответить с цитированием
Старый 06.03.2015, 17:53  #17
OEUVRE
OEUVRE
Регистрация: 06.03.2013
Сообщения: 936
Замечания: 2


По умолчанию


Последний раз редактировалось OEUVRE, 02.10.2016 в 20:05.
OEUVRE вне форума Ответить с цитированием
Старый 06.03.2015, 18:33  #18
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша:
пробежал первую карту, у всех моделей по 5 точек, лежащих в одной плоскости. Одна точка по центру модели, остальные по углам ббокса, причем ббокс всегда параллелен осям координат уровня (первый скрин). Положения точек задаются автоматически или вручную? Ближайший браш определяется автоматически или вручную? У некоторых точек странные ближайшие лайтмапы (скрины 2 и 3)
[ Миниатюры ]
p_savior1_0012.jpg Просмотров: 490 Размер:  337.4 Кбайт  p_savior1_0011.jpg Просмотров: 522 Размер:  203.1 Кбайт  p_savior1_0013.jpg Просмотров: 517 Размер:  348.5 Кбайт  
ncuxonaT вне форума Ответить с цитированием
Старый 06.03.2015, 18:36  #19
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] Дядя Миша сделал все, для того чтобы любой из вас, имея ровные руки
Разве что Скаржа попросить что-нибудь замаппить.

Дядя Миша, подумав, добавил 06.03.2015 в 18:38
2 ncuxonaT: одной карты явно недостаточно.

Последний раз редактировалось Дядя Миша, 06.03.2015 в 18:38.
Дядя Миша вне форума Ответить с цитированием
Старый 06.03.2015, 19:14  #20
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша:
какой ты скрытный
ncuxonaT вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:08.


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2020 by CS-Mapping.com.ua Community