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

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

img

22 Dec 2018 в 22:08 #2

Люди в 2к18 еще не устали сравнивать лол с дотой? У них задержка в развитии?

22 Dec 2018 в 22:10 #3

League of Legends ультра графика!!!

В лоле сделали апдейт по графике + там есть местные арканы, которые будут лучше, чем в доте

P.S. Сам играю в доту в основном

22 Dec 2018 в 22:11 #4

НурекеАктобе сказал(а):↑

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

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

Нажмите, чтобы раскрыть.

Почти любая лега>арканы из помойки(не говоря уже об абсолютках)

22 Dec 2018 в 22:11 #5

лол идеален. зачем нужен лол 2? это пусть доту в очередной раз переделывают и из беты выводят

22 Dec 2018 в 22:13 #6

НурекеАктобе сказал(а):↑

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

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

Нажмите, чтобы раскрыть.

В ЛоЛе лайнинг какой-то конченный с лесочком по бокам, всё как-то слишком тупо и по даунски.. пылесос для детских обедов крч.

ЭТО БУДУЩЕЕ ЛИГИ ЛЕГЕНД!? ЧТО ЗА ГРАФОН?!

22 Dec 2018 в 22:15 #7

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

Дока 2 для взрослых.

22 Dec 2018 в 22:16 #8

Во-первых, сам ты помойка.

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

В-третьих, сам ты помойка

img

22 Dec 2018 в 22:18 #9

неужели тс думает, что в поджанре СТРАТЕГИИ — моба самое главное это графика, а не игровой процесс? Он сам то пробовал играть в лигу? У него вытекали глаза от графена? Где пруфы что в лиге плохая графика? Она приемлима для всех игроков лола, от эффектов скинов не взрывается мозг, в отличии от некоторых имморталок в доте, но ТС же особенный, ему подавай дк хуки и мины на тайда в 4к.

22 Dec 2018 в 22:19 #10

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

22 Dec 2018 в 22:22 #11

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

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

22 Dec 2018 в 22:25 #12

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

22 Dec 2018 в 22:25 #13

НурекеАктобе сказал(а):↑

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

Нажмите, чтобы раскрыть.

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

22 Dec 2018 в 22:31 #14

DarkSeer55 сказал(а):↑

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

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

Нажмите, чтобы раскрыть.

да ладно,нигжде оно не лучше

22 Dec 2018 в 22:32 #15

R.l.P сказал(а):↑

да ладно,нигжде оно не лучше

Нажмите, чтобы раскрыть.

ну отсутствие голосового чата и довольно хорошая система репортов сильно улучшают обстановку лиги.

22 Dec 2018 в 22:35 #16

DarkSeer55 сказал(а):↑

ну отсутствие голосового чата и довольно хорошая система репортов сильно улучшают обстановку лиги.

Нажмите, чтобы раскрыть.

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

22 Dec 2018 в 22:38 #17

Invasion_ сказал(а):↑

Во-первых, сам ты помойка.

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

В-третьих, сам ты помойка

Нажмите, чтобы раскрыть.

Pepega.png?1543957140

игрок в помойку пригорел

Киберспорт определят популярность игры, как и ее будущее, что и показала новость про хотц и закрытие главного турнира — практически все ру стримеры хотца уши из игры, как и большая чать игроков(это не точно, но очевидно). А теперь сравни фан базу лола и доты, а потом вякни про качество киберспорта у помойки и у нормальной игры, которой занимаются.

22 Dec 2018 в 22:39 #18

Вы сами не устали сравнивать доту и лигу? Пускай дотеры играют в игру гейба, лолеры в лигу.

22 Dec 2018 в 22:41 #19

R.l.P сказал(а):↑

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

Читайте также:  Лига Легенд что должен делать лесник

Нажмите, чтобы раскрыть.

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

Источник: dota2.ru

Как улучшить графику в league of legends

/dev: обновления визуальных эффектов

Узнайте, как мы обновляем визуальные эффекты чемпионов и как вы можете в этом поучастWowать!

Уголок разработчиков Авторы Riot Sirhaian, Riot Riru

Привет! С вами Riot Sirhaian, старший художник по визуальным эффектам в команде, ответственной за образы. Время от времени я обновляю чемпионов.

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

Впереди еще много таких обновлений, поэтому пора поговорить о том, зачем мы это делаем, как это устроено и чем вы можете нам помочь!

042522_Veiger_VFX.jpg

Клетка Вейгара до и после обновления (2018 год)

Обновления визуальных эффектов в деталях

Обновления визуальных эффектов (VFX) – небольшие наборы изменений для старых чемпионов Лиги. Их цель – привести эффекты к единым стандартам качества, подчеркнуть уникальность героев, а также «прокачать» графику. При этом мы стараемся улучшать персонажей и с тематической точки зрения.

В отличие от ВИО (полного визуально-игрового обновления) они затрагивают не всю визуальную сторону чемпиона: в большинстве случаев речь идет только об эффектах, которые сопровождают умения персонажей или их эмоции (танцы, насмешки и шутки). VFX – это взрывы, магия, искры и тому подобное. Также иногда меняются или добавляются звуковые эффекты (за это отвечает отдельная команда), а порой мы слегка корректируем анимацию или индикаторы быстрого применения умений – но только если они совсем не соответствуют фактическим хитбоксам (как раньше было у [W] Энни). При этом игровой процесс не меняется; модели, текстуры и анимация персонажа тоже остаются прежними. Это позволяет выпускать обновления VFX значительно быстрее, чем ВИО или ВТО (визуально-технические обновления).

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

  • Первостепенные цели. Исправить проблемы: неточные или отсутствующие индикаторы области поражения, некорректную работу визуальных элементов, а также несоответствие эффектов и связанных с ними игровых механик.
  • Второстепенные цели. Сделать эффекты умений заметнее, снизить уровень визуального шума (перегруженности мелкими ненужными деталями) и выровнять визуальную часть в целом – эффекты не должны быть слишком яркими или незаметными.
  • Третьестепенные цели. Улучшить тематическую сторону чемпионов (к примеру, сделать монстра из Бездны еще более жутким).

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

042522_Blitz_VFX.jpg

[R] Блицкранка до и после обновления

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

042522_Amumu_VFX.jpg

Новые эффекты [R] Амуму – почти как в ролике «Проклятие Печальной мумии»

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

  • Все изменения, которым подвергается базовый образ, должны быть внесены и в остальные (например, если мы увеличиваем индикатор умения для лучшего соответствия хитбоксу).
  • Уникальные эффекты должны обладать такими же заметными отличиями, как и до обновления.
  • Образы за 750 RP и меньше: можно внести одну небольшую правку, если это нужно.
  • Образы за 975 RP: можно изменить цвет эффектов или добавить элементы, если это нужно.
  • Образы за 1350 RP: создаем совершенно новые визуальные эффекты, если это не было сделано ранее.
  • Образы за 1820 RP и больше: создаем совершенно новые визуальные эффекты, если это не было сделано ранее; можно добавить визуальные эффекты к эмоциям, если это нужно.

Новые образы с современными визуальными эффектами, которые соответствуют их рангу, обычно никак не меняются. Зачем что-то перерабатывать, если и так все нормально?

Как обновляют визуальные эффекты

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

  1. Мы выбираем чемпиона для обновления. Это может быть герой, который нравится художнику, устаревший персонаж или просто следующий по списку. Некоторым чемпионам требуется переработка уровня ВИО или ВТО – таких мы пропускаем. В общем, если у вашего любимого героя древние эффекты, возможно, их нелегко обновить. Но это не значит, что мы не сделаем этого в будущем.
  2. Художник по визуальным эффектам начинаетработать над базовым образом. При этом он регулярно консультируется с непосредственными коллегами и всем сообществом LeagueVFX в Riot – звукорежиссерами, геймдизайнерами и многими другими сотрудниками. Как правило, над обновлением визуальных эффектов часто работает только один человек, но ему всегда помогает команда (в частности, отзывами).
  3. Художник по визуальным эффектам переходит к другим образам. Все они меняются в соответствии с обновленной базовой версией. Старые образы обычно получают больше правок, чем новые, в то время как современные могут не меняться Wowсе.
  4. Образыотправляются тестировщикам, которые ищут недочеты и ошибки.
  5. Обновление визуальных эффектов появляется на PBE. Одновременно мы выкладываем в социальных сетях видеоролик, чтобы игроки могли дать нам отзывы.
  6. Мы собираем как можно больше отзыWow, для чего постоянно смотрим соцсети, YouTube, а также читаем посты на Reddit.
  7. Обновление визуальных эффектов появляется на основных серверах. Если вдруг обнаруживаются какие-нибудь проблемы, мы решаем их в следующем цикле.

Как вы можете помочь

Поскольку обновления визуальных эффектов делаются быстрее, чем ВИО и ВТО, мы не публикуем статьи о ходе работы. Но это не значит, что нам не нужны отзывы! Мы стараемся читать все ваши комментарии, хоть и не можем ответить каждому. Впрочем, если отзыв конструктивен, полезен и вы предлагаете что-то интересное, есть шанс, что мы свяжемся с вами, чтобы узнать подробности.

Написать нам можно, например, на Reddit под схожими публикациями (англ.): Leona VFX Update Feedback Thread или Shaco VFX Update Feedback Thread.

042522_Thresh_VFX.jpg

Промежуточная версия фонаря Треша перед обновлением в 2020 году

Конечно, порой сложно составить отзыв конструктивно, особенно если обновляется ваш любимый чемпион. Мы обращаем внимание на такие вещи:

1. Решаема ли проблема, описанная в отзыве?

Самый полезный отзыв – это лаконичное описание проблемы с понятным решением. Например: «Этому образу нужен новый индикатор [Q] – как у других образов того же ранга» или «Похоже, есть проблемы с хитбоксом. Проверите?». Или даже: «Летящий снаряд трудно заметить на фоне ландшафта». Такие комментарии помогают и задают направление работы.

Без конкретики трудно понять, как решать проблему. А наиболее расплывчатые отзывы часто содержат такие предложения, которые относятся уже не только к обновлению визуальных эффектов (например, просьбы изменить тематику).

2. Объективен ли отзыв?

Дизайн (и в том числе VFX) – вещь субъективная. Одному игроку может нравиться оригинальный образ, а другой будет от него плеваться. Поэтому фраза: «Я ненавижу зеленый цвет. Можете сделать другой?» не сильно поможет делу. Но если отзыв будет таким: «Зеленые эффекты не подходят этому образу», возможно, мы внесем правки.

Читайте также:  Заставки League of Legends заставки не работают

3. Отражает ли отзыв мнение большинства?

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

Кроме того, Лига – глобальная игра. Тренды в вашем регионе не обязательно совпадают с теми, что в остальном мире. Мы стараемся учитывать мнение всех игроков, а не только тех, кого лучше слышно.

042522_YasTeemo_FVX.jpg

Хотим отдельно добавить, что оскорблять художников – это точно плохой подход. Конструктивное указание на проблемы – это нормально (и даже здорово!), но переход на личности отбивает желание их решать. Кроме того, оскорбления посылают негативные сигналы тем, кто принимает решения о будущем Лиги. Эти люди могут подумать, что обновления визуальных эффектов только вредят сообществу. Разгневанные игроки и демотивированные разработчики – прямой путь к разочарованию.

Мы очень ценим конструктивные отзывы, потому что они показывают, что вам не все равно. Так вы придаете нам сил и помогаете делать Лигу еще лучше!

Будущее обновлений VFX

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

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

Источник: www.leagueoflegends.com

Как рендерится кадр League of Legends

image

Привет, меня зовут Тони Элбрект (Tony Albrecht), я один из разработчиков новой команды Render Strike Team под управлением Sustainability Initiative в League of Legends. Моей команде поручили внести усовершенстWowания в движок рендеринга LoL, и мы с радостью принялись за работу. В этой статье я расскажу, как движок работает сейчас. Надеюсь, она заложит хороший фундамент, на основании которого я позже смогу рассказывать об вносимых нами изменениях. Эта статья станет для меня хорошим предлогом самому поэтапно изучить процесс рендеринга, чтобы мы, как команда, полностью понимали, что же происходит внутри.

Я подробно объясню, как LoL выстраивает и отображает каждый отдельный кадр игры (не забывайте, что на самых мощных машинах это происходит более 100 в секунду). Рассказ в основном будет техническим, но я надеюсь, что его легко будет усвоить даже тем, кто не имеет опыта в рендеринге. Для ясности я пропущу некоторые сложные моменты, но если вы захотите узнать подробности, то напишите об этом в комментариях [к оригиналу статьи].

Сначала я немного расскажу об имеющихся у нас графических библиотеках. League должна работать как можно эффективнее на широком диапазоне платформ. На самом деле, сейчас Windows XP является четвёртой по популярности версией ОС, в которой запускают игру (популярнее только Windows 7, 10 и 8). На Windows XP ежемесячно играют в десять миллионов сессий игры, поэтому для сохранения обратной совместимости нам нужно поддерживать DirectX 9 и приходится использовать только функции, которые он предоставляет. Также мы используем сопоставимый набор функций OpenGL 1.5 на машинах с OS X (скоро положение изменится).

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

Рендеринг для начинающих

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

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

Давайте рассмотрим пример. Вот изображение Гарена (Garen), состоящее из 6 336 треугольников, составляющих «проволочный» каркас и сплошную бестекстурную модель. Эта модель создана нашими художниками и экспортирована в формат, который движок League может загружать и анимировать. (Заметьте, что у Гарена неплоское затенение: это ограничение приложения, используемого для исследования рендеринга).

imageimage

Эта модель без текстуры не только скучная, но и не отображает узнаваемого Гарена. Чтобы вдохнуть в Гарена жизнь, нужно нанести текстуру.

image

Перед загрузкой текстуры Гарена хранятся на диске в виде файлов DDS или TGA, которые сами по себе выглядят как сцена из ужастика. После правильного наложения на модель у нас получится вот такой результат:

У нас уже начинает что-то получаться. Шейдер, рендерящий наши сетки со скиннингом, не просто наносит текстуру, но мы рассмотрим это позже.

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

image

Этап рендеринга 0: туман войны

Прежде чем начинать прорисовку частей сцены, нужно сначала подготовить туман войны и тени (у-у-у, «туман и тени», как зловеще!). Туман войны хранится центральным процессором как сетка размером 128×128, которая потом масштабируется до квадратной текстуры 512×512 (подробнее об этом можно почитать в статье «A Story of Fog and War»). Затем мы размываем эту текстуру и наносим её для затемнения соответствующих областей игры и мини-карты.

imageimage

Этап рендеринга 1: тени

Тени — неотъемлемая часть 3D-сцены. Без них объекты будут казаться плоскими. Для создания теней, которые выглядят, как отбрасываемые миньоном или чемпионом, нам нужно рендерить их из точки источника света. Расстояние от источника света до отбрасывающего тень персонажа хранится для каждого пикселя в компонентах RGB, и мы обнуляем компонент альфа-прозрачности.

Это можно увидеть ниже. Слева у нас есть поле высоты теней в RGB осаждаемой башни, миньонов и двух чемпионов. Справа у нас есть только компонент альфа-прозрачности. Эти текстуры обрезаны для более чёткого отображения деталей теней — миньоны внизу, башня и чемпионы — наверху.

imageimage

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

Этап рендеринга 2: статичная геометрия

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

image

Заметьте, что тени миньонов и туман войны заползают на края сцены. Рендерер Ущелья призывателей (Summoner’s Rift) не рендерит динамических теней для статичной геометрии. Поскольку основной источник света не перемещается, мы запекаем тени статичных сеток на их текстурах. Это даёт художникам больше контроля над внешним видом карты, а также позволяет повысить производительность (не требуется рендеринг теней статичных сеток). Тени отбрасывают только миньоны, башни и чемпионы.

Этап рендеринга 3: сетки со скиннингом

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

image

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

Читайте также:  Лига Легенд это мобайл легенд

imageimage

На изображениях выше показаны все кости сетки Гарена. На изображении слева показаны все его кости (с названиями). На изображении справа голубым показаны выбранные вершины, а жёлтыми линиями показаны связи с костями, управляющие их положением.

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

Этап рендеринга 4: контуры (очерчивание)

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

imageimage

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

Этап рендеринга 5: трава

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

Вот кадр без воды и травы, просто статичная фоновая геометрия и несколько сеток со скиннингом.

image

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

image

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

Этап рендеринга 6: вода

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

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

image

Выделив всю рябь как «проволочные» каркасы, мы получим:

image

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

При нормальном рендеринге и анимации вода выглядит следующим образом:

Этап рендеринга 7: декали

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

image

Этап рендеринга 8: особые контуры

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

image

Этап рендеринга 9: частицы

Следующая стадия — одна из самых важных: частицы. Я уже писал о частицах в этой статье. Каждое заклинание, бафф и эффект — это система частиц, которую нужно анимировать и обновлять. В рассматриваемой нами сцене не так много действия, как, например, в командном бою «5 на 5», но всё равно здесь довольно много отображаемых частиц.

Если мы рассмотрим только частицы (отключив всю фоновую сцену), то получим следующую картину:

image

Отрендерив треугольники, составляющие частицы, фиолетовыми контурами (без текстур, только геометрию), мы получим следующее:

image

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

image

Этап рендеринга 10: эффекты постобработки

Итак, базовые части сцены уже отрендерены и мы можем придать ей немного больше «блеска». Делается это в два этапа. Сначала мы выполняем проход сглаживания (anti-alias, AA). Он помогает сгладить зазубренные края, делая весь кадр более чётким.

В статичном изображении этот эффект почти незаметен, но он сильно помогает в устранении «мерцания пикселей», которое может возникать при перемещении высококонтастных граней по экрану. В LoL мы используем алгоритм сглаживания с быстрой аппроксимацией Fast Approximate Anti-Aliasing (FXAA).

Изображение слева — это миньон до FXAA, а справа — после сглаживания. Заметьте, как сглаживаются края объекта.

imageimage

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

Этап рендеринга 11: урон и полоски здоровья

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

image

Этап рендеринга 12: интерфейс

И, наконец, отрисовывается интерфейс пользователя. Все тексты, значки и предметы отрисовываются на экране как отдельные текстуры, перекрывая всё, находящееся под ними. В анализируемом нами случае на отрисовку интерфейса потребовалось примерно 1 000 треугольников — около 300 на мини-карту и 700 — на всё остальное.

image

Собираем всё вместе

И мы получаем полностью отрендеренную сцену. Во всей сцене содержится около 200 000 треугольников, 90 000 из них используется под частицы. 28 миллионов пикселей отрисовываются за 695 вызоWow отрисовки. Чтобы в игру можно было играть, вся эта работа должна выполняться как можно быстрее. Чтобы достичь 60 и более кадров в секунду, все этапы нужно пройти менее чем за 16,66 миллисекунд.

И это только расчёты на стороне графического процессора: вся игровая логика, обработка ввода игрока, столкновения, обработка частиц, анимации и отправка команд на рендеринг тоже должны выполняться за это же время в центральном процессоре. Если вы играете с 300 fps, то всё происходит меньше чем за 3,3 миллисекунды!

Зачем выполнять рефакторинг рендерера?

Теперь вы должны представлять сложности, связанные с рендерингом единственного кадра игры League. Но это только сторона вывода данных: то, что вы видите на экране — это результат тысяч вызоWow функций нашего движка рендеринга. Он постоянно изменяется и эволюционирует, чтобы лучше соответстWowать современным потребностям рендеринга.

Это привело к тому, что в базе кода League сосуществуют разные формы кода рендеринга, потому что нам нужно учитывать новое и поддерживать старое оборудование. Например, Ущелье призывателей (Summoner’s Rift) выполняет рендеринг немного иначе, чем Воющая бездна (Howling Abyss) и Проклятый лес (Twisted Treeline).

Существуют части рендерера, оставшиеся от старых версий League, и части, которые пока так и не раскрыли весь свой потенциал. Задача команды Render Strike Team — взять весь код рендеринга и произвести его рефакторинг, чтобы весь рендеринг выполнялся через один и тот же интерфейс. Если мы хорошо выполним свою задачу, то игроки совершенно не заметят разницы (кроме, возможно, небольшого увеличения скорости в разных моментах). Но после того, как мы закончим, у нас появится отличная возможность вносить одновременные изменения во все игровые режимы League.

Надеюсь, эта экскурсия по процессу рендеринга League of Legends была интересной. Я упомянул в начале статьи, что не хотел вдаваться в подробности. Я стремился к тому, чтобы как можно больше людей начало лучше понимать процессы, происходящие в каждом кадре каждой игры в League. Если у вас возникли вопросы, задавайте их в комментариях [к оригиналу статьи], и мы постараемся ответить как можно подробнее.

  • рендеринг
  • league of legends
  • киберспорт
  • rendering

Источник: habr.com