LOD для кистей или Mip Brushing в SE1


LOD для кистей или Mip Brushing в SE1


Вступление:


Привет, уважаемый пользователь SeriousSite! Сегодня я решил написать статью о LOD кистях, так как статья 2010 года устарела и все картинки пропали. Я думаю, что не все смогут понять просто написанный текст, поэтому присаживайтесь поудобнее, я постараюсь рассказать вам обо всём, что я знаю про LOD кисти!


Что такое LOD и как он работает:


LOD — приём в программировании трёхмерной графики, заключающийся в создании нескольких вариантов одного объекта с различными степенями детализации, которые переключаются в зависимости от удаления объекта от виртуальной камеры.

То есть, у нас есть изначальный вариант представления какого-нибудь браша (имеет начальную детализацию), который будет меняться с расстоянием. В SE1 переходы между вариантами происходит резко, поэтому если хотите сделать это не заметно, то вам стоит создать больше вариации, которые будут незаметно сменять друг друга. Кроме того, LOD кистями можно сделать плавный переход качества теней у объекта, убрать детализированные слои, сделать невидимыми ненужные полигоны или даже удалить их. Только учтите, что коллизия у объекта будет равна изначальному представлению, т.е. удаленные полигоны не на изначальной вариации не влияют на неё, т.к. это всего лишь визуальное изменение объекта!


Как делать LOD кисти:


Обратите своё внимание на эту панель в редакторе:

Данной панелью мы будем часто пользоваться и рассмотрим все её функции!

Так-же нам пригодится панель с именами доступных брашей:

Нужна для выбора браша, над которым мы будем работать!

Итак, приступим! Создайте в мире какой-нибудь объект, например цилиндр! Давайте зададим ему размеры и сделаем ему 16 сторон.

Далее нам нужно его как-нибудь назвать, дабы было проще его найти в панели с доступными брашами. Я назвал цилиндр "Pillar"`ом.

Теперь рассмотрим саму панель для настройки LOD кистей.

Auto Mip Brushing

Edit Mip Switch Distance

Previous/Next Mip Brush

Clone mip brush to more precise mip level

Create empty brush at more precise mip level

Clone current brush at rougher mip level

Create empty brush at rougher mip level

Delete Mip Brush

Данная кнопка включает/отключает автоматическую смену уровней детализации для объектов на карте. Поле, отвечающее за то, с какого расстояния будет работать выбранный в данный момент уровень детализации.

Две кнопки, с помощью которых вы переключаетесь между доступными уровнями детализации.

Prev -> Предыдущий

Next -> Следующий

При нажатий на эту кнопку создаётся копия данного уровня детализации, который переместится на 1 уровень назад! Дистанция до появления нашей копии будет равен половине расстояния, который был указан в Edit Mip Switch Distance.

При нажатий на эту кнопку создаётся пустой уровень детализации, который переместится на 1 уровень назад! При этом нас переместит на этот уровень детализации, поэтому мы увидем пустоту, мы же создали пустой уровень :)

Если хотите переключится на другие уровни, покликайте на Next/prev mip brush кнопки

Дистанция до появления нашего уровня так-же будет равна половине расстояния.

При нажатий на эту кнопку создаётся копия данного уровня детализации, который переместится на 1 уровень вперед! Дистанция до появления нашей копии будет равен удвоенному расстоянию, которое было указано в Edit Mip Switch Distance.

При нажатий на эту кнопку создаётся пустой уровень детализации, который переместится на 1 уровень вперед! При этом нас переместит на этот уровень детализации, поэтому мы увидем пустоту, мы же создали пустой уровень :)

Если хотите переключится на другие уровни, покликайте на Next/prev mip brush кнопки

Дистанция до появления нашего уровня так-же будет равно удвоенному расстоянию.

Удаляет данный уровень детализации.

Используя копии уровня детализации, можно легко делать изменяющиеся текстуры. Например перекрасить полигон/изменить размер кластера теней/изменить текстуру/удалить слой 2 или 3/изменить какой-либо другой параметр полигона.

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

Такс, теперь, когда мы познакомились с панелью LOD кистей, давайте воспользуемся этой панелью и создадим копию уровня на 1 уровень назад (Clone mip brush to more precise mip level) и 2 пустых уровня вперед (Create empty brush at rougher mip level - два раза). Вернитесь на 1 (изначальный) уровень и поменяйте в "Edit Mip Switch Distance" число 500000 на 4 например (ах да, нажмите Enter, как впишите число!). Нас перемещает на последний уровень и, как можете заметить, в "Edit Mip Switch Distance" мы видим 32. Это значит, что все последующие уровни автоматически изменились по формуле - [расстояние для пред уровня*2]. То есть если вы хотите по своему настроить дистанцию для отображения каждого определенного уровня, то вам следует это делать в порядке от изначального первого уровня до последнего уровня детализации. Теперь, перейдите на изначальный уровень (тот, что имеет расстояние 4) и накиньте на него текстуры на 2 или 3 слой, а можно сразу и на все. Ещё давайте изменим Cluster size на самый минимум, дабы увидеть изменяющиеся тени.

Далее перейдём на 2 уровень детализации. Давайте к примеру скроем верхний полигон! У вам получится примерно так:

Теперь перейдём на 3 уровень детализации. Давайте создадим менее полигональный вариант колонны. Войдите в режим CSG, создадим цилинд уже с 8 сторонами. Добавьте эту колонну в геометрию нашего браша "Pillar". Я ещё покрасил все полигоны у данного уровня в более темный цвет, дабы было более наглядное изменение детализации при отдалений, да и сам браш видно лучше на сером фоне :)

И наконец, перейдём на 4 последний уровень детализации. Давайте создадим ещё менее полигональный вариант колонны. Войдите снова в режим CSG, создадите параллелепипед с 4 сторонами. Добавьте эту колонну в геометрию нашего браша "Pillar". Для данного уровня я выбрал красный цвет к примеру.

Чтобы наглядно увидеть изменения теней, добавьте источники света на карту. Я ещё изменил размер теней в каждом уровне...Вот какие отличия будут у каждого уровня в моём случае:


Видео:


Для тех, кто мало чего понял по скриншотам и тексту, могут посмотреть видео. Новое и старое. К сожалению записи без звука, так как незачем вам слушать, как люди в голосовом чате играют в игрульки )

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

Новое видео Старое видео

Спасибо за внимание!



Комментарии   

№ 2  |  16.08.2017  |  0  
Замечательная статья!
Ответ Цитата

№ 1  |  07.08.2017  |  0  
Вот это я понимаю. Полный разбор вопроса.
Ответ Цитата

Оставьте комментарий

Мини-профиль

Гость

Вы в группе: Гости
Ваш IP: 54.166.235.48

Помочь сайту

Информация

Прочее

Категории раздела

Croteam [3]
Материалы по студии разработчика игр CroTeam.
Интервью с разработчиками [9]
Интервью с разработчиками, а также их издателями.
Serious Sam 1 [10]
Статьи о Serious Sam 1
Serious Sam 2 [6]
Статьи о Serious Sam 2
Serious Sam HD [5]
Статьи о HD-серии, ремейков классических версий Сэма.
Serious Sam 3: BFE [9]
Статьи о Serious Sam 3: BFE
Уроки по Serious Editor 1 [55]
Уроки по Serious Editor 2 [2]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [33]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [26]
Всё что не подошло не под одну из вышеупомянутых категорий.
Serious Sam: Revolution [1]
Материалы по SS: Revolution, серьёзном обновлении классических Крутых Сэмов.
Serious Sam 1.05/1.07 SDK [10]
SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07.

Голосование

Какая на ваш взгляд самая удачливая часть из Indie-Series?
1. Serious Sam: Double D (XXL)
2. Serious Sam: The Random Encounter
3. Serious Sam: Kamikaze Attack!
4. Serious Sam: The Greek Encounter

Статистика



На сайте: 7
Гостей: 6
Пользователей: 1
Zeo