Дев блог → Графика Рубикона 1.1

Привет, капсулиры! От имени команды TriLambda (команда графических дизайнеров Евы) докладывает CCP BlueScreen, o7

Давненько мы не общались. Я слышал, на севере неспокойно — пилоты Нового Эдема ждут вестей с Севера. Не бойтесь — вороны возвращаются. [Явная отсылка к Дж. Мартину, поскольку нихрена на севере Евы сейчас не происходит. — прим. КО перев.]

Команда TriLambda, будучи самой старой и самой многочисленной командой разработчиков EVE Online, упорно работала над подготовкой множества дополнений и улучшений в релизе Рубикона 1.1.

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

Но перед тем, как перейти к делу, замечу, что этот девблог был написан раньше месива в B-R5RB (перевод на еврукоме). Об этом невероятном эвенте и наших планах по созданию внутриигрового памятника под названием «Титаномахия» [Это греческая калька. «Битва титанов» будет более по-русски. Но я бы обозвал Титаномахач. Посмотрим, что там Друуг придумает — прим. перев.] для увековечения этого события можете прочитать в новом девблоге CCP Dolan’а. Счастливое совпадение с введением новых капитальных вреков не ускользнуло от нашего внимания.

Рубикон 1.1 и TriLambda

CCP Huskarl и CCP BunnyVirus старательно трудились над окончанием линейки фракционных кораблей Сестёр Евы (Sister of EVE, SoE). 28 января на ближайшие к вам рынки мы осуществили поставку нового линкора Сестёр под названием Нестор:

О параметрах Нестора можно почитать здесь.

Продолжая двигаться в направлении реализации долгосрочного проекта «V3» под руководством CCP Salvo, мы опять обновили текстуры, добавив новейшие шейдеры и эффекты теней в существующий контент. На этот раз мы добавили 44 полностью обновлённые и обработанные V3 станции в Новый Эдем. Вот некоторые из них:

Также, мы продолжаем работу над редизайном моделей кораблей. На этот раз, чемпион ССР по чессбоксингу CCP LeftRook и немецкий изгнанник CCP Phor, действуя от лица TriLambd’ы переделали Crucifier.

CCP Caiman, CCP Gorgen, CCP LuxusLulli, CCP Angler и CCP Hansuman (это одни из самых лучших в ССР) скооперировались, чтобы добавить новые мобильные структуры в коллекцию Рубикона.

В Рубиконе 1.1 мы добавили три новых структуры к вящей радости граждан Нового Эдема.

"Encounter Surveillance System«, «Mobile Micro Jump Drive» и «Mobile Scan Inhibitor». В добавок к этому, мы сделали два варианта скинов для выпущенных ранее сифонов, чтобы «Small Mobile ‘Hybrid’ Siphon» и «Small Mobile ‘Rote’ Siphon» можно было отличить.

Больше информации об этих новых мобильных структурах можно получить в следующих девблогах:

Номер один — оффсайт / евруком

Номер два — оффсайт / евруком

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

В Рубиконе 1.1 мы превратим картинку слева в картинку справа.

Мы также внесли несколько улучшений в качество рендеринга клиента Евы. Сюда можно отнести оптимизацию и динамические поправки в работу ближней/дальней камеры при обрезании плоскостей и обсчёт теней.

И вот ещё что. Помните те облака в космосе, которые все так любят? Так вот сейчас вы можете их отключить, если это создаёт проблемы вашей графической карте или компьютеру. В настройках «Эффектов» вы теперь можете включать и выключать облака частиц. Для внесения изменений потребуется смена сессии.

Вот чем мы занимались во время праздничных каникул. А теперь займёмся созданием вреков капиталов.

Как сделать врек космического корабля (Мини-гайд для нубов)

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

Команда TriLambda уже давно хотела заняться вреками капиталов.

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

Так зачем это делать?

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

Как с точки зрения зрителя, так и художника, такое произведение явно не дотягивает до уровня «обновлённого содержания». Эти останки были унылы и не вносили атмосферности.

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

Старый врек, который с первого взгляда на врек и не похож .

А как тогда должны выглядеть останки?

Мы хотели создать визуально убедительные и чёткие останки, но не знали с какого конца подойти к проблеме.

Можно ли разломать модель корабля, чтобы она выглядела как последствия настоящего взрыва? Если не можем, то нельзя ли использовать какие-нибудь эффекты рендеринга, чтобы симулировать такие эффекты?

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

Кто и как этим занимался?

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

Нет, я совсем не тот, кто занимается геймплеем ПОСов или фиксит лаги. Этот проект оказался на моём рабочем месте потому, что я тот прень, который добавляет полигоны, эффекты и частицы в Еву. Когда моя работа заканчивается, приходит CCP ManKiller, смотрит на FPS, и угрожает выкинуть меня в окно*.

А это CCP ManKiller — вы же не хотите, чтобы этот парень глядел вам через плечо?

Для любой возможности и/или проекта в Еве мы оцениваем соотношение «пользы для конечного потребителя» и «стоимости разработки»

С самого начала было ясно, что просто бросить пачку художников на полную перерисовку ассетсов вреков довольно непрактично. Даже разломав исходные корабли вручную (если бы это было возможно) и создавая новые вреки «по очереди», мы потратили бы гораздо больше человеческих ресурсов, чем это нужно было для подобного проекта.

Нам необходимо было понять, что именно мы МОГЛИ сделать и что из этого было подходящим.

*CCP ManKiller создал шейдеры для этих останков и сильно облегчил интеграцию новых вреков в клиент. Так что при встрече с ним в тёмном переулке держитесь противоположной стороны и не забудьте поблагодарить этого безусловно одного из величайших мужей современности.

Исследования и разработки

Следующим шагом надо было провести кое-какие исследования. На сцене появляется старший технический дизайнер CCP Ph00ze.

CCP Ph00ze, правда, тут же исчезает в отдельный кабинет и начинает перебирать варианты. Были ли наши начальные идеи практичными? Если нет, как их можно изменить для получения заветных результатов?

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

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

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

Ранние эксперименты — закрываем дырки от разрезов текстурами
Эксперименты с системами частиц и физических элементов сеток для малых кораблей

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

На данном этапе все эти инструменты выглядели многообещающими, и для их тестирования был назначен некий 3D художник (всегда к вашим услугам). Я начал работу над первым «настоящим» вреком — который и выглядел бы хорошо и который не стыдно было бы засунуть в игру.

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

Прототипирование

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

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

Вот так инструменты быстро стали очень эффективными и автоматизированными. На этом этапе мы перепробовали много всяких штук.

Мама, посмотри — я графическую схему нарисовал!
[По стрелке, последовательно: Технический специалист -> предоставление инструментов -> 3D художник -> запросы на дополнительные возможности -> содание новых возможностей -> сведения о дефектах и начало новой итерации -> исправление дефектов и доведение инструментов до ума — прим. перев.]

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

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

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

В тот момент мы собрали все свои инструменты в «пошаговый» мастер для Майи и смело приступили к производству.

Инструменты, готовые превратить Фенрир во врек.

Производство

Первым делом надо было создать «резаки» — то есть набор неровных 3D тел, которые определят как и где корабль разломается на фрагменты.

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

В дополнение к разлому кораблей на части, этот сложный булев процесс также закрывает все дыры в сетке модели, получающиеся при разломе, и применяет корректную развёртку, а также нужные материалы «повреждённых внутренностей» и текстуры к этим поверхностям.

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

Уничтожение корабля при помощи продвиинутых Булевых операций с использованием сделанных ранее «резаков» моделей.
1. Оригинальный корабль 2. Установка "резаков« 3. Корабль успешно расчленён 4. Детали корабля разбросаны при помощи физического симулятора

Фенрир теперь довольно сильно поломан, но кое-где места разлома всё ещё выглядят очень гладко и ровно. Не очень похоже, что там что-то бахнуло, правда?

Для этого у нас есть парочка инструментов. Во-первых, добавим немного «мусора» по краям. Это в основном значит, что мы экструдируем плиты брони вдоль произвольной оси на произвольную длину.

В данном случае экструдируем по оси Z нашего корабля.

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

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

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

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

Куски мусора, созданные около малого обломка.

Теперь у нас есть готовая основа нашего врека. Наши инструменты теперь могут автоматически рассчитать модель затенения наших развёрток и выдать на-гора АО-карту.

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

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

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

Кое чего не хватает всё-таки. Гляньте в промежутки между большими фрагментами. Кажется, надо что-то добавить, чтобы эта масса создавала впечатление единства. Мда, думаю, надо попросить своего техника сделать новый инструмент :)

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

Мне осталось лишь подобрать хорошие значения для числа, размера, цвета и проч. параметров частиц, а наш инструмент сделал бы всю работу.

Инструмент создания мусора располагает два эмиттера частиц в точках разлома каждого фрагмента и собирает корабль в исходное состояние.

Затем, система на протяжении 100 кадров анимирует все наши фрагменты назад, в их положение «в состяние врека». При создании этой анимации, эмиттеры оставляют след из дыма и мелких частиц мусора (отсюда и два эмиттера на фрагмент).

Количество дыма и мусора, испускаемое фрагментов равно N помноженное на общую площадь поверхности «внутренней» части фрагмента.

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

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

Да, облака частиц задали нам жару.

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

Эти проблемы поначалу заставили нас отложить использование систем частиц, но нам стало понятно, что при любом раскладе эту проблему надо будет решать. С системами частиц или без них, сама идея взрыва кораблей будет испорчена, если мы с этим не справимся. Надо было снова звать на помощь CCP ManKiller’a.

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

Окончательный вариант сетки врека с облаками частиц.

Теперь мы могли экспортировать наши вреки и посмотреть на результат в нашем игровом инструменте (также известном по имени «Jessica»).

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

И вот, увы, Фенрир нашёл свой конец. Один капитал мы разрушили. Осталось 26. Вот сейчас мы с лихвой возместим потраченное на разработку и создание нужных нам инструментов время.

Ещё раз похвастаюсь: всего один 3D художник и его приятель-программист быстренько разобрались с 27 капиталами, и эти вреки удалось показать вам как раз при выходе Рубикона 1.1.

Мы надеемся, что вам понравился мой рассказ о процессе создания графических объектов и мы также надеемся, что вам так же приятно создавать вреки на поле боя, как нам их придумывать :)

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

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

На этом всё, и я, CCP BlueScreen с командой Trilambda с вами прощаемся. Желаем вам приятных полётов.

Не, серьёзно — fly safe и оставайтесь бессмертными o7

Так, теперь у меня есть приспособление. Что бы ещё такое превратить во врек?

Перевод © Werdna

[#] 31.01.2014 @ 09:45 by aaaxeee
+ 2 -
Вреки красивы, но все они подразумевают внутренний взрыв ОБЯЗАТЕЛЬНО приведший к разлому. Поломать махину таких размеров на лопопам, извените не всегда бы удавалось (с точки зрения физики). ответить
[#] 31.01.2014 @ 13:34 by Ascard
+ 1 -
В свете титанозарубы в B-R лучше бы дырки от прошедших насквозь ДД нарисовали. ответить
[#] 31.01.2014 @ 16:52 by maxcoyote
+ 1 -
Всё что бы не делалось. а советском сообществе комментировалось бы со слов : "лучше бы..." аж бесит уже.
Всё что бы не делали ССР совок всегда знает как надо было сделать лучше... ответить
[#] 31.01.2014 @ 16:54 by aaaxeee
+ 3 -
Вообще, в идеале я представлял себе так:

Создаётся 4 модели врека который появляется в следствии какого либо превосходящего дамага.

Если больше кидали кинетиком, то видны рваные пробоины кореженого железа(как при столкновении кораблей с айсбергом), разнесенные переборки и вмятины.

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

Если выхватывал преимущественно взрывом,то можно и поломать (как собственно и создано)

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

Однако в свете последних(да и не только) событий,это нагрузка на сервер, с которой извечная борьба. Так что ну его нафиг, пусть что хотят делают с этими вреками, лиш бы работа с лагами не прекращалась. Думаю что не красивый врек заставляет трястись руки ,когда взорвался вражеский капитал:) Исправление одобряю, с мелочей игра лучше становится. ответить
- [#] 31.01.2014 @ 17:28 by Assa 32
+ 2 -
полностью согласен. такие мелочи делают игру гораздо приятней. а руки трясуться не от предвкушения лута из врека капитала а по тому что ты на грибах и кокаине :))
пы сы. Crucifier получился обалденный как и большинство аммарских кораблей ответить
[#] 31.01.2014 @ 17:44 by Ascard
+ 1 -
С задачей выбора модели из 4х вариантов вполне справится и клиент, без помощи сервера. Вся нужна информация у него есть. Тут уже проблема производительности клиента. Ибо тоже дилема между красивостью и нагрузкой на машину. Если слишком красиво будет, то все игроки на счётах и калькуляторах отвалятся. ССР себе такого не может позволить, ибо бабло. Да и более насущные проблемы вроде оставшихся 100500 не переделанных кораблей есть. ответить
[#] 02.02.2014 @ 22:04 by BlackMak
+ 0 -
Ну, в принципе, тут имеет место взрыв реактора, так что такие обломки вполне нормально, ведь в любом из видов дамага так или иначе воздействие на реактор корабля будет, вот он и взрывается. ответить
- [#] 03.02.2014 @ 09:32 by Ascard
+ 0 -
<зануда>
ты уверен что у 4х рас одинаковые типы реактора? и что хотябы один из типов взрывается если его повредить? и причём тут взрыв реактора, если, к примеру, в тушку влетает ДД, и реактор испаряется газо- или плазмообразно?
</зануда> ответить
- [#] 03.02.2014 @ 17:22 by BlackMak
+ 0 -
Будь у них разные типы реакторов - то и модули под каждую цивилизацию нужны били бы свои, и ригги. Опять же идея того, что дд должен прожигать и испарять приемлема только к капиталам, супера держат не один, и даже не два дд. А так же принцип плавки можно применить лишь к Аватару и Эребусу, а как же Левик - который стреляет ракетами, а Рагна, у которой дд по сути супер арта, она тоже должна испарять? ответить
- [#] 04.02.2014 @ 12:29 by Ascard
+ 1 -
Не вижу связи между расами, модулями и ригами. какая разница какого типа реактор, если он даёт энергию, или пусть даже электроэнергию, и какая от этого разница модулям. ты же в реале когда чайник в розетку втыкаешь, не знаешь откуда сейчас подаётся ток на твой дом - с ТЭЦ, ГЭС или АЭС или со всех сразу через балансировку нагрузки. Говоря про испарение реактора я сказал "к примеру". Понятно, что, если в корабль прилетает с ракеты там и дырки будут характерные. Но всё равно реактор не обязан взрываться. Особенно если в последний момент автоматика его аварийно заглушит както. ответить
[#] 01.02.2014 @ 06:05 by zverus
+ 0 -
Врек Ark'a особенно понравился. ответить
[#] 01.02.2014 @ 06:21 by Edo Xeplion
+ 1 -
C нетерпением жду вреков для остальных кораблей, ну хотябы до уровня бш!
Великолепная работа. ответить
[#] 03.02.2014 @ 07:52 by psk21office
+ 0 -
Неужели сделали отключение облаков???

Нужно проверить, срочно. ответить

Написать комментарий
 
EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. CCP hf. has granted permission to EVE-RU to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, EVE-RU. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.