Прогноз погоды
До -12°С
Новостная лента

Что благоустроить? Решаете вы!

Сегодня, 22:12    0

Экс-вратаря системы "Металлурга" сбил автомобиль

Сегодня, 17:43    0

В Магнитогорске школьники гуляли по тонкому льду на Урале

Сегодня, 13:58    0

МОЛНИЯ! Экс-тренер "Металлурга" Майк Кинэн возвращается!

Сегодня, 13:42    0

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

Сегодня, 11:18    0

До -12°С

Сегодня, 08:02    0

Магнитогорцев ждёт существенная прибавка к стоимости тарифов ЖКХ

Вчера, 22:22    0

Под Магнитогорском сорвались похороны военнослужащего, погибшего на СВО

Вчера, 19:53    0

В Магнитогорске начали продавать уникальный виноград

Вчера, 18:42    0

Бывший руководитель "Металлурга" может получить неожиданную должность

Вчера, 15:25    0

В Магнитогорске автомобилист снёс столб

Вчера, 12:08    0

В России оценили вероятность новой волны мобилизации

23-11-2024, 20:29    0

В Магнитогорске погоня за пьяным закончилась стрельбой

23-11-2024, 17:34    0

В Магнитогорске оказались самые дешёвые в России комнаты

23-11-2024, 15:30    0

В Магнитогорске дорогу не поделили два автомобиля

23-11-2024, 12:30    0

«Металлург» принял решение по двум игрокам

23-11-2024, 10:37    0

«Не хотят делать – расторгайтесь». Сергей Бердников остался недоволен качеством уборки тротуаров

22-11-2024, 21:40    0

Магнитогорца будут судить за нанесение ножевого ранения

22-11-2024, 16:41    0

Памятная дата

22-11-2024, 15:11    0

Величкин рассказал о необычной должности, которую ему предлагали

22-11-2024, 13:57    0

Под Магнитогорском вторую неделю ищут рыбака, пропавшего из лодки

22-11-2024, 12:15    0

По факту наезда трамвая на пешехода возбудили уголовное дело

22-11-2024, 11:23    0

Первый морозец

22-11-2024, 08:09    0

Владимир Путин выступил с экстренным обращением к россиянам

21-11-2024, 22:29    0

В Магнитогорске водитель трамвая переехала пешехода

21-11-2024, 19:15    0

В ЦБ прокомментировали вероятность заморозки вкладов россиян

21-11-2024, 14:30    0

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

21-11-2024, 12:00    0

Теплая погода покидает Магнитогорск

21-11-2024, 10:45    0

Стало известно, когда в Магнитогорске появится термальный комплекс

21-11-2024, 10:28    0

Под Магнитогорском в ДТП погиб водитель

21-11-2024, 10:14    0

Сегодня - Всемирный день приветствий

21-11-2024, 08:35    0

В Магнитогорске продолжают подготовку к закрытию Северного перехода

20-11-2024, 19:21    0

В Магнитогорске поймали «коллекционера» штрафов за нарушения ПДД

20-11-2024, 19:05    0

«Металлург» проиграл на домашней площадке «Химкам»

20-11-2024, 14:14    0

Магнитогорец ударил свою знакомую ведром с яблоками

20-11-2024, 12:13    0

«Металлург» заявился в новый хоккейный турнир

20-11-2024, 11:42    0

В ГАИ выступили с экстренным обращением к жителям Магнитогорска

20-11-2024, 10:54    0

Механизм рассечения трехмерных объектов в компьютерных играх

23:50, 5 мар 2024 Новости партнёров
Механизм рассечения трехмерных объектов в компьютерных играх
Автор: Служба новостей «Вечерка 74» Прочитали: 518    Комментарии: 0    
Механика, построенная на разрезании трехмерных моделей в игровых проектах — это всегда иллюзия, подобная трюку, когда фокусник распиливает человека на две части.

Erid: 2VfnxxEbJuN

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

Из чего состоят трехмерные объекты?

Трехмерные объекты в играх состоят из нескольких мешей - сеток полигонов. Каждый полигон — это четырехугольник, состоящий из трех вершин. По факту эти три вершины - просто точки, которые в себе хранят по три основных числа - координаты вершин в пространстве по осям x, y, z. Представьте себе большой шар, выполненный из проволочного каркаса, обтянутый тканью. Трехмерная модель состоит из такой же конструкции. Если при помощи острого меча разорвать ткань и каркасную проволоку, то скорее всего окажется что внутри конструкция будет пуста. Трехмерная модель в игре создана по такому же принципу – на месте ее рассечения вы не увидите внутри никакого объекта, не заметите гладкой поверхности среза. Самая частая проблема, с которой сталкиваются разработчики - как показать внутреннее устройство объекта? Вторая проблема заключается в том, что в реальном мире конструкция из проволоки и ткани во время рассечения делится на две части, каждая из которой живет отдельной жизнью, обладает своим весом и формой.

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

Примеры рассечения трехмерных объектов

Одна из первых игр, в которой можно поделить на части трехмерные объекты — это шутер Soldier of Fortune, вышедший в 2000 году. Проект создан в стиле боевик, главный сюжет которого раскрывается в секретном агентстве, где лихие сотрудники постоянно пытаются догнать плохих парней. На самом деле на момент выхода проекта — это был самый жестокий шутер. Когда персонаж стреляет из дробовика по врагу и попадает по нему, то вскрывается его нутро - внутренности вываливаются прямо на землю. Если попасть по руке или ноге, то их моментально отсекает. Проект выпустила студия Raven Software, в своем интервью разработчики рассказывали, что расчлененка нужна только для того, чтобы пользователи были шокированы интерфейсом, для рекламной кампании такой ход не использовался. Игровая механика строилась на технологии Ghoul. Основная суть кроется в том, что каждая модель человека была сложена как пазл из нескольких частей. Поэтому, когда пользователь стреляет в руку или ногу персонажу, то он просто как бы отделяет один из кусочков пазла. Такую же технологию, но только немного модернизированную использовали в проектах Soldier of Fortune 2: Double Helix и Star Wars Jedi Knight 2: Jedi Outcast.

Довольно интересный подход к расчленению можно увидеть в проекте Left4Dead 2: в нем зомби походу боя теряют как руки, так и ноги. В первой части проекта все случаи таких потерь были прописаны заранее в сценарии их всего пять – можно было потерять руку, ногу или голову. Такие раны всегда заканчивались летально для зомби, живой мертвец без руки умирал моментально. Во второй части проекта разработчики хотели добавить больше разнообразия, например сделать так, чтобы уровень ранения зомби зависел от того, насколько мощным оружием пользовались игроки. Зомби с дыркой в животе все равно должны были бежать за игроком. Ситуация довольно сильно усложнялась тем, что в проекте было 24 тысячи разных типов внешности зомби и это без нанесенных увечий. Представьте себе, сколько будет мертвецов, если для каждого создать еще несколько дополнительных вариантов? Их численность станет просто зашкаливать. Поэтому разработчики придумали максимально простое решение проблемы - на отстреленной части тела игрока появлялась невидимая фигура, например сфера. Она закрывала ту часть модели, которая оказалась внутри нее. Дыру в модели закрывала специальная заплатка, которая по внешнему виду напоминает окровавленные кости и внутренние органы. Данная технология позволила создать 54 увечья на теле мертвеца, не переделывая уже готовые модели.

Игровой проект Metal Gear Rising: Revengeance разрабатывала студия Platinum Games. Это был спин-офф к серии проекта Metal Gear Solid, которые рассказывали про приключения Райдена - главного героя второй части. Он получает тело киберниндзя и всю игру воюет с киборговом. Чтобы реализовать механику разрезания разработчикам понадобилось три месяца работы - ее назвали Blade Mode. Объекты можно было рассекать в режиме реального времени и также в режиме замедление. Во втором режиме появлялась голографическая линия среза ее можно было повернуть тем самым выбрав какую часть противника или предмета необходимо отрезать.

Как объяснил в своем интервью программист Цуёши Одера механика разрезания потребляла больше памяти, чем вообще любой другой игровой процесс, поэтому разработчики постарались распределить ее выполнение по нескольким кадрам. Немного внесем ясность в этот процесс: каждая игра — это как будто тот же самый мультфильм, состоящий из нескольких кадров, сменяющих друг друга попеременно. Но в игровом процессе программа проверяет каждый кадр - не поменялось ли в нем что-то, например не нажал ли игрок какую-либо кнопку. Если он нажимает эту кнопку, то следующий кадр появляется с учетом внесенных изменений. Поэтому вычисления осуществляются каждый кадр, тем самым нагружая процессор. Но если сложные вычисления распределить на несколько кадров, то и нагрузка соответственно будет меньше. Также в проекте очень внимательно отнеслись к деталям: внесли нестандартные изменения в анимацию, если противник что-нибудь отсечет. Разработчики всегда опирались на одно правило – вычисления можно провести только в кадрах, которые отводились на взмах мяча.

Отрезанные куски через время исчезали — это было сделано с целью экономии ресурсов. Игрокам не дали возможность сделать целую гору из кубиков, которые были отрезаны от врагов. В проекте Tiny & Big in Grandpa’s Leftovers очень интересно подошли к изображению поверхности среза, когда пользователь разделяет камень, он не ждет что внутри него будет что-то большее, чем минерал, поэтому на поверхность среза натянули ту же текстуру, что и на всех остальных поверхностях камня. Но как быть с киборгом, которому игрок отсекает ногу или руку? Какую в этом случае можно нанести текстуру на место среза, чтобы максимально правдоподобно показать внутреннее строение этой части тела? Допустим разработчики сделали для руки текстуру руки в разрезе, а для ноги соответственно текстуру ноги в разрезе, но что делать если игрок порежет конечность не поперек, а вдоль. Это возможно по причине выбранного режима Blade Mode, когда время игрока начинает замедляться и он может повернуть линию рассечения как ему захочется.

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

Другим неплохим примером является проект Hardspace: Shipbreaker 2022 года выпуска. Основной геймплей строится на демонтаже космического корабля. Игрок находится в скафандре списанного корабля, и он должен отсечь от него при помощи лазера правильные части и отправить их на переработку. Игра выполнена в виде своеобразного пазла, так как просто так взять и отрезать от корабля кусок нельзя. Одно неловкое движение - лазер задевает взрывоопасную систему, и космонавт легко погибает. Чтобы реализовать эту задумку разработчики сделали корабль в виде 40 метровой меши, выполненной из разных частей панелей и блоков. Беря в расчет как работает разрезание в этом проекте - все 40 метров корабля можно было поделить на части за один раз. Пользователи были в недоумении и мне нравился такой геймплей, поэтому разработчикам пришлось каждый корабль делать из отдельных частей соединенных в конкретном месте. Многие из них состояли из четырехметровых панелей, как будто кубики Lego.

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

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

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

Реклама. ИП Брагин Олег Сергеевич, ИНН 519017027462. Erid: 2VfnxxEbJuN



Photo by Sam Pak on Unsplash
0    0
Если вы заметили ошибку в тексте, выделите ее и нажмите Ctrl+Enter
Комментарии

Добавить комментарий

комментируют
0
В Магнитогорске дорогу не поделили два автомобиля
12:30, 23 ноя 2024

В Магнитогорске дорогу не поделили два автомобиля

Обломки от машин раскидало по всему перекрестку
0
В Магнитогорске погоня за пьяным закончилась стрельбой
17:34, 23 ноя 2024

В Магнитогорске погоня за пьяным закончилась стрельбой

В отношении водителя составлено 8 административных материалов.
последние комментарии
2 марта 2022 17:57

Ннн

Кто сказал что не работает??? Сегодня оплачивал покупки,никаких проблем!...

Apple Pay больше не работает
2 марта 2022 16:07

Enthroned

Неужели парк Ветеранов в 2023 году?...

С 4 по 14 марта!
2 марта 2022 15:52

Ветеран

Лично был знаком поздравлял с 99 летием со дня рождения и договорились отметить столетия...

Красивый и достойный век
2 марта 2022 15:25

Надежда

А где же вы были раньше? Давно этим нужно было заняться, а не жевать сопли!...

Для тех жителей Донбасса, кому есть что рассказать
2 марта 2022 15:20

Надежда

Вечная память Константину! Дай Боже сил его родителям, чтобы пережить это страшное горе....

Погиб, исполняя воинский долг
2 марта 2022 13:54

Гарик

Последнее десятилетие Россия говорит оружием. Эффективность МИД незаметна. Армия и флот...

Владимир Путин дал новую установку министру обороны Шойгу
2 марта 2022 13:22

Сергей

Константину Царствие небесное и Вечная память !!!...

Погиб, исполняя воинский долг
Наверх