#[Сокровищница]

Level Design в Unity с нуля

#5. Оптимизация

41
Читалка

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

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

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

1. Иерархия объектов на сцене.

Вот так сейчас выглядит моя сцена
Вот так сейчас выглядит моя сцена

Можно заметить, что объектов не так и много, но я могу развернуть, например, ПолиШейп объект и увидеть, что там внутри каждая ступенька, стенка, уголок спрятаны

Помимо просто визуального порядка и удобства работы это даёт нам возможность дополнительных манипуляций:

  1. Можно перемещать, менять масштаб и дублировать сразу группы объектов
  2. Можно деактивировать целые группы для большего удобства в работе
  3. Можно задавать свойство статичности всем дочерним объектам одной галочкой
Пример деактивации. Тут я просто выключил все источники света на сцене
Пример деактивации. Тут я просто выключил все источники света на сцене

Что за статичность? Зачем?

Установка это галочки просто обязательна для объектов, которые не будут изменять своего положения в процессе игры (ну или по крайне мере в рамках данной сцены). Движок такие объекты запоминает и обрабатывает пачкой, не тратя на них доп. ресурсы. Именно такие объекты движок не будет рендерить, например, если они не попадают в камеру, если предварительно запечь окружение (Occlusion Culling).

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

Вы красивенько расставляете ящички, а потом скормили их скрипту, который возьмёт их все и склеит в один меш (это же можно попросить сделать и художника, но кто вам гарантирует, что он сделает именно так, как вам нужно?)) ) и таким образом сотня ящиков делает не сотню дроуколов, а один! Из важного: а) объединить можно только объекты, использующие один материал. б) лучше объединять такие объекты, которые будут попадать в камеру всей пачкой, чтоб не получилось, что большая часть из них в камеру не попадает, а ГПУ их всё равно обрабатывает.

Я вот сейчас это пишу и думаю: «А какого лешего я заговорил об оптимизации в середине цикла?».

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


P.S. Если вам код склеивания мешей в один таки нужен, пишите в комментарии, покажу)

Всем хороших игр!

Приложение к посту "Фотография 100 лет назад. Часть 1. Мокрый коллоидный процесс"

42
Читалка

Фотография 100 лет назад. Часть 1. Мокрый коллоидный процесс

Для@Pepels , к посту Выставка: внезапный поход в галерею на 8 марта. Часть 2

Камера Фредерика Скотта Арчера обр. 1853 года. Первый серийный фотоаппарат под мокрый коллоидный процесс.

Складная камера Оттевила (1853)

Thomas Ottewill & Co, в том числе, занимались производством фотоаппаратов Арчера.

Стереоскопический фотоаппарат Дэнсера (1853)

Камера капитана Франсиса Фоука (1856)

Первый фотоаппарат для мокрого процесса с гофрированным мехом вместо деревянного корпуса между объективом и пластиной.

Камера Кинниэра, доработанная Оттевилом и Коллиcом (1960)

3D-реконструкция камеры Кинниэра

Pistolgraph Томаса Скейфа (ок. 1856–1862)

Один из самых ранних компактных фотоаппаратов. Диаметр пластины - всего около дюйма (2,54 см)

12-объективный фотоаппарат для изготовления визитных карточек по патенту Дисдери (1854).

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

Отпечаток с более простого четырёхобъективного фотоаппарата конструкции Дисдери (тоже со сдвижной пластиной, потому 8 кадров). Тут однозначно видно, что каждый кадр - это уникальный снимок, экспонированный отдельно. Соответственно, у каждого объектива была своя крышка.

36-объективный фотоаппарат Робертса (1870)

На этой шайтан-машине видны шторки сверху и снизу: каждая закрывает по 18 объективов. Соответственно, за одно открытие шторки получается 18 одинаковых негативов.

Фотоаппарат Revolver Photographique Томпсона-Бриуа (1862)

Ещё один подход к получению нескольких кадров на одном носителе. В фотоаппарат заряжается круглая фотопластина диаметром 75мм, и поворачивается после каждого спуска затвора. Пластина вмещает 4 круглых кадра диаметром по 23 мм.

Сушилка для фотопластин большого формата

Коробочка для хранения фотопластин 12х18мм.

Демонстрация фотографирования по мокрому коллоидному процессу в полевых условиях

Для любимой Коши :)

43

Родная @rammdarkfunny, наш местный обладатель золотых лапок, поздравляю с твоим днём!

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

В будущем я очень надеюсь, что мы с тобой найдём возможность встретиться и пошароёбимся уже вместе ❤️

Будь счастлива, моя хорошая :)

Поэтому лягушки так орут на болотах

Эту лягушку не надо целовать, она и так принцесса 😁

43
Взрослая Тсуо чилит на озере
Взрослая Тсуо чилит на озере

Древний астероид Рюгу

43

Этот снимок был сделан 3 октября 2018 года немецко-французским посадочным модулем MASCOT (Mobile Asteroid Surface Scout) во время его "падения" на поверхность 900-метрового астероида Рюгу в рамках миссии Японского агентства аэрокосмических исследований (JAXA) "Хаябуса-2". На изображении запечатлен момент, когда MASCOT находился всего в нескольких метрах от астероида.

© MASCOT/DLR/JAXA
© MASCOT/DLR/JAXA

MASCOT отделился, когда "Хаябуса-2" находился на высоте около 50 метров от астероида, начав спуск, который занял 20 минут. Всего модуль передал 20 снимков, показав детали грубой, усеянной валунами поверхности астероида. Они стали важными ориентирами для основного зонда при сборе образцов, которые 5 декабря 2020 года были доставлены на Землю. Их анализ выявил органические молекулы и воду, ставшие дополнительным подтверждением гипотезы о ключевой роли астероидов в зарождении жизни на Земле.

После успешной посадки MASCOT проработал на Рюгу 17 часов и 7 минут — немного дольше запланированных 16 часов. За это время модуль дважды менял свою позицию с помощью внутреннего маятникового механизма и провел научные измерения в четырех различных точках. Полученные данные позволили установить, что Рюгу — это груда слипшихся обломков, которые сформировались в результате разрушения более крупного небесного тела.

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

M43 (NGC 1982) - это компактная область ионизированного водорода

расположенная в комплексе молекулярных облаков Ориона.

38

Расстояние до неё оценивается примерно в 1300 световых лет. M43 находится совсем рядом со знаменитой Большой туманностью Ориона (M42), однако они разделены плотной полосой межзвёздной пыли. Из-за высокой яркости M42 на её соседку часто не обращают внимания.

Главное отличие от Большой туманности Ориона состоит в источнике ионизации газа. Если M42 освещается сразу несколькими массивными звёздами скопления Трапеция, то в случае M43 почти всё излучение обеспечивается одной горячей звездой спектрального класса B - NU Ori. M43 и Большая туманность Ориона физически связаны и представляют собой часть одного и того же региона активного звёздообразования.

Steve Mandel, Bob Fera, and Steeve Body
Steve Mandel, Bob Fera, and Steeve Body