Найти в Дзене
АнтонВорчит

Про работу. от сценария до реализации.

Для начала нужно создать общую сцену. Мир, поверхность, ландшафт - в общем базовую основу. Сложности в том, что с одной стороны мне нужно сделать огромную площадь - 20х20км, которую человек увидит с большой высоты (2-3км), а с другой стороны - небольшое пятно в 500метров диаметра нужно сделать очень детально, потому что это пятнышко человек увидит очень близко. Непонятно? Позже поймете. WorldMachine. Тут я создаю поверхность ландшафта. Точнее используя разные фильтры, генераторы, маски фильтров и фильтры генераторов, которыми насилуя черно-белую шумовую карту получаю карту высот. С складками местности, уступами, спадами, эрозией почвы и прочие гео-образования. И позже уже вытаскиваю нужные мне отдельные маски. Для упрощения и понимания что же я хочу получить делается и красивая понятная текстура этого ландшафта... но это больше "для красоты", потому что в дело она очень редко уходит. Реки рисуются отдельно, впрочем пошаманив с настройками можно добиться и карт сноса почвы, вымывания

Для начала нужно создать общую сцену. Мир, поверхность, ландшафт - в общем базовую основу. Сложности в том, что с одной стороны мне нужно сделать огромную площадь - 20х20км, которую человек увидит с большой высоты (2-3км), а с другой стороны - небольшое пятно в 500метров диаметра нужно сделать очень детально, потому что это пятнышко человек увидит очень близко. Непонятно? Позже поймете.

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

структура нод
структура нод

Для упрощения и понимания что же я хочу получить делается и красивая понятная текстура этого ландшафта... но это больше "для красоты", потому что в дело она очень редко уходит.

ландшафт с текстурой
ландшафт с текстурой

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

Нереальный разновысотный ландшафт делать гораздо интереснее чем плоский. И даже быстрее. Почему? потому что в создании реального плоского ландшафта все карты придется вручную рисовать по карте местности, скачав огромную фото-карту, и раскрашивая (точнее: выкрашивая) нужные области. Это скучно и нудно.

Ладно, переходим уже в движок. У нас используется Unigine. Да, не Unity, и даже не Unreal c огромными возможностями, гайдами, туториалами, примерами, базой готовых элементов и т.п. Unigine, в котором нет ничего этого. Но тоже есть много всего внутри, что приходится изучать методом научно-экспериментального тыка.

20х20км общей площади. без отсечки дальности видимости.
20х20км общей площади. без отсечки дальности видимости.

Ландшафт перенесен и начинается работа "Бога". По нанесению различных текстур материалов. Просто камни, грунт, мокрый грунт, мокрые камни, крупные камни, песчаники, скалы, гравий, грунт с растительностью, лесной грунт, размытые образования, резкая порода и т.п. и т.д. И еще сверху несколько масок на маски для масок чтобы убрать слишком заметные повторяющие элементы. Впрочем от тайла (заметного повторения) совсем избавится сложно, так что используются еще и отдельные слои, видимые на разном удалении. И конечно же - атмосфера.

-4

В принципе уже неплохо, но....скучно. Фактически на этом этапе уже произошел мозговой штурм: "что с этим делать? Ландшафт есть - нужно наполнение". И...решение/предложение было неожиданным.

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

-5

В вторых, внес реку огня. или лавы. Или поток огненной лавы....

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

-6

Ничего не понятно?

Здесь две текстуры лавы складываются по маске. Отдельно - остывшая масса по краю берега и отдельно - горячий центральный поток. При этом центр и край потока движется с разной скоростью. И кроме обычного свечения центра есть всплывающие пузыри/всплески, которые увлекаются общим потоком. Да и сам поток медленно бурлит, с волнами. Добавим к этому небольшой наклон поверхности (буквально на 1градус) и анимацию медленного подъема поверхности по высоте и вот уже лавовый поток идет по руслу. И еще добавить сверху формирование огненных всплесков плоскими частицами.

-7

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

-8

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

Пора переходить к главному элементу. Центральному элементу сцены.

Была найдена неплохая модель космического корабля. Да, "внешне схожего с используемыми в киновселенной франшизы "Звездные войны". Модель была жестко разобрана, разрезана, сделаны заглушки на разрезы, внесен хаос в элементы и - перетекстурирована. В конце концов, мне нужен сильно разрушенный труп корабля! Который я собираюсь жестко уронить на твердую поверхность!

В общем в ход идет полный набор программ 3D-моделирования и текстурирования.

-9

Обрабатываются все части, а корабль был порублен на 6 блоков, не считая мелких дополнительных элементов. На каждый - по 5 текстур. Которые нужно позже смешать в материал в движке и настроить. Текстуры материала, грязь, царапины, повреждения, декорирование, акценты и т.п. Много творчества... и отсебятины с фантазиями.

-10

Почти финал. Плюс еще добавлены элементы дальнего плана, просто чтобы немного разнообразить ландшафт и горизонт.

-11

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

нодовая структура граф-материала.
нодовая структура граф-материала.

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

-13

И да -положение корабля относительно реки изменилось. Просто так. Это еще не считая того момента, что чтобы скрыть форму корабля он был даже весьма сильно разбросан...но это показалось весьма отвратительно выглядело. Так что все вновь было сдвинуто обратно в кучу и переложено.

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

-14

Но...вопрос "а не дадут ли по шапке" за авторские права - остался открытым. С одной стороны паразитировать на чужом - не хочется, с другой стороны - вид и узнаваемость корабля сразу настраивает зрителя на нужное восприятие. В конце концов, в этой "вселенной" в космическом вакууме есть звук "турбированных" лазеров!

Будет ли сцена перестроена или дополнена? скорее всего да. Мозговые штурмы и пожелания руководства, плюс мелкие корректировки по ходу встраивание в релизный движок. Даже сам корабль будет скорее изменен на менее "узнаваемый". Но - потом.

Зачем такие сложности?

По факту эту сцену увидит человек с большой высоты - около 2000метров. резкий спуск в свободном падении до 300-600метров и последующий поиск места точной посадки. На все - около 3-5 минут, с окончанием сценария через 5-10секунд после контакта с твердой поверхностью.

Как это будет видно "из шлема"- видно в видео (ну и другие сцены, уже ушедшие в релиз или в готовность):

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

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

Игрок (испытуемый, "подопытный") будет закреплен на ферме симулятора в шлеме виртуальной реальности и увидит все окружение "своими глазами". Будет дополнительно загружен шумом аудио-сопровождения и ветром вентиляторов. Плюс вращение "тушки тела" в ферме и...прощай восприятие реальности. Есть ты, то, что ты видишь, ощущаешь и - стропы управления :)

Вот такая вот работа :) В среднем, до одного реализуемого сценария есть несколько десятков "мертвых". Ландшафты, которые не понравились, сценарии, которые я не могу реализовать, технические сложности формирования среды из-за наполненности и т.п. С реальными сценами - чуть другие, свои, сложности, как-то поиск карт рельефов, хорошие спутниковые снимки поверхности.

Но одно теперь скажу точно: чем больше я стал ездить по области - тем больше стал смотреть по сторонам, стараясь понять как-то мелочи и элементы реального мира )