Как сделать карту спекуляр в фотошопе
Этой статьей я надеюсь открыть серию, в которой я освещу не очевидные приемы при помощи которых, можно значительно улучшить визуальную составляющую карт и разнообразить геймплей. В большей части они будут связанны с моделлингом, но и без ландшафта и кода тоже не обойдется.
В ней я поподробнее рассмотрю создание и применение спекулярок в варкрафте. Материал расчитан на людей, мало-мальски владеющих фотошопом и вар3ме
Перед тем как приступить к работе, стоит разобраться что же представляет из себя спекуляр. Вот что нам говорит гугл:
Specular Map (карта отражения) – текстура, которая показывает способность отражения материала. Specular Map содержит в себе пиксели в черно-белой цветовой гамме. Чем светлее пиксель, тем больше способность материала отбивать свет и тем ярче на нём блики от света. Соответственно чем темнее пиксель, тем матовее становится материал и теряет своё свойство отражать свет. Для материалов керамической плитки и полированного металла могут использоваться светлые тоны, а для тканей и дерева тёмные.
Стоит отметить, что хотя классический спекуляр черно-белый, в игровых движках активно используются и цветные вариации, это позволяет добавить блику определенный оттенок, несмотря на цвет диффузной карты. В контексте Варкрафта стоит помнить, что наш старичок в силу возраста не имеет шейдера для отрисовки обеих карт и их симуляция происходит при помощи стандартных смешений и по этому отличается от классической модели.
Я опробовал оба варианта и пришел к выводу, что черно-белые карты лучше перенимают оттенки источников света, но могут давать некоторое мыло на моделях и при сильной засветке давать эффект белого налета на текстуре, по этому я остановился на том что корректней будет использовать цветные карты и избежать таких неприятностей. Но все-таки я советую пробовать оба варианта и самим определиться какой вариант подходит в вашей ситуации
Теперь мы знаем что такое спекуляр и с чем его едят, теорию усвоили, и можем приступить к практике, я буду делать на примере конверта пака Top Down Fantasy, от LongbowMan , для начала откроем базовую текстуру и посмотрим какие материалы на ней присутствуют: дерево, железо, камень.
Прикинув на глаз насколько материалы могут отражать свет, для подкрепления я посмотрел как этот пак выглядит в оригинале в юнити, так и заглянул еще в пару игр, для закрепления.
При помощи лассо выделяем элементы из одного материала, корректируем контрастность и яркость, помня о том, что чем ярче пиксель - тем ярче будет блик.
Я выбрал каменные детали, если бы они были матовыми можно было бы обойтись только коррекцией яркости и контрастности, но эти камни вполне способны отражать свет (в оригинальной демо-карте, они так отражают, что даже слепят) . По этому открываем коррекцию уровней и подгоняем баланс, какого-то конкретного правила нет, я определяю на глаз, если результат на модели меня не устраивает - правлю снова, но об позже.
Еще немного коррекции и вот результат, конечно можно его еще вылизывать, сделать боковые поверхности более светлыми, но при стандартном освещении такой необходимости нет - легко можно получить засветку в дневное время суток, а создание нестандартного глобального освещения и точечных источников света заслуживает отдельной статьи
Сделаем тоже самое с остальными материалами на текстуре, после чего провернем это с другими текстурами, на этом с созданием карт мы закончили, остается только привязать их к моделям
Когда у нас есть готовая карта, открываем War3 Model Editor и импортируем новую текстуру, дальше в редакторе материалов находим нужный и на новый слой добавляем ее с типом смешения Additive, вот и все, можно сохранить модель и протестировать ее в игре.
Финальная статья цикла, будет посвящена PBR текстурам. Сразу определю — PBR или «не PBR» текстур не бывает. Бывают текстуры отвечающие или не отвечающие PBR принципам.
Изначально, была идея написать статью исключительно о PBR текстурах. Она возникла после того, как я прикупил сборник как бы PBR текстур от CGAxis — не покупайте и даже не качайте с торентов этот сборник, если вам действительно нужны PBR текстуры.
Про этот сборник с большой натяжкой можно сказать, что его содержимое отвечает всем PBR принципам. По факту этот сборник откровенный «шлак», на который, в маркетинговых целях, налепили трендовую аббревиатуру «PBR».
PBR текстуры
Любой шейдер способен описать большинство свойств поверхности чистой математикой через BxDF функции. Но не всегда поверхность объекта имеет однородный диффузный или зеркальный цвет, не всегда объект может иметь ровную поверхность. В таких ситуациях на помощь приходят растровые текстуры, через которые можно усложнять шейдер, делая его визуально более реалистичным. Согласитесь что локальным цветом или процедурной текстурой не всегда можно получить удовлетворительный результат.
Через растровую текстуру можно задать не только сложный диффузный цвет поверхности, но и «запечь» некоторые её свойства. Использование текстур, в которых «запечены» свойства материала, пришло в массы из игровой индустрии. По сложившейся практике пользователю, предлагается три базовые текстурные карты — Diffuse, Specular\Metalness и Glossy\Roughness, по ситуации, подключают дополнительные технические карты — Opacity, Normal, Height, Ambient occlusion, Cavity, Emissive maps. Классический сет это четыре текстуры: Diffuse, Specular\Metalness и Glossy\Roughness, Normal
Важным недостатком так называемых «PBR текстур» является отсутствие гибкости. Так например — карта Glossy\Roughness предлагает мне уже зафиксированные значение шероховатости поверхности. А что если мне нужно сделать больше глянца, как быть? Понятно что мне, как пользователю с опытом, не составляет труда «подкрутить» все эти карты до нужного результата, а как быть менее опытным коллегам? Поэтому мне не особо понятен тот хайп, который был в свое время поднят вокруг PBR текстур.
PBR текстуры для меня, в первую очередь, это решение все же узкоспециальное, для таких направлений как VR, реал-тайм и игровые движки, где нужно максимально упростить и унифицировать шейдерные вычисления, когда текстуры запекаются комплексно для всей модели сразу. В этом контексте — PBR текстуры это простое и универсальное решение, своего рода кроссплатформенный набор «Сделай сам».
3d модель, шейдер которой сделан с соблюдением PBR принципов, будет рендериться, в любой современной рендер системе, без необходимости конвертировать материалы или что либо в них перенастраивать. Особенно если часть свойств шейдера, было зафиксировано (запечено) в текстурах, о которых я говорил выше. Это важное и ценное качество для 3d модели, особенно когда вы продаете её на стоке [Посмотреть стрим о 3D стоках]. Покупатель будет понимать, что купив ваш продукт, он получит универсальное шейдерное решение, которое будет давать одинаковый результат при рендеринге в независимости от используемой рендер системы.
Есть два шейдерных решения так или иначе поддерживаемых в большинстве рендер движков — Specular workflow и Metalness workflow. Эти решения отличаются набором необходимых текстур и соответственно слотами размещения. Итоговая разница не существенна, но заметна в ряде деталей. Забегая вперед сразу скажу, что Metalness workflow более удобен, более экономичен в расходовании видеопамяти (актуально для игровых движков), прост и поэтому стал теперь доминирующим рабочим пространством.
Specular workflow
Как сказал ранее, практически все свойства шейдеров, можно запечь в текстуру, но в этом нет необходимости, так как большинстве рендер систем многие свойства, задаются программно. Так, например, нет необходимости запекать индекс рефракции (IOR), поскольку его можно задать напрямую в шейдере. Поэтому запекается, только ограниченный, комплект текстур.
Для Specular workflow используется базовый сет из следующих растровых карт
Diffuse map - Карта диффузного цвета
Specular map - Карта зеркальности
Glossy map - Карта глянцевитости
Normal map - Карта нормалей
Metalness workflow
Для Metalness workflow используется базовый сет из следующих растровых карт
Diffuse map - Карта диффузного цвета
Metalness map - Карта металличности
Roughnes map - Карта шероховатости
Normal map - Карта нормалей
В чем разница этих решений?
Очевидно, что некоторые текстуры подключаются к разным слотам шейдера и в принципе отличаются по содержанию. Разница между Glossy\Roughness картами небольшая: Glossy map это инвертированная Roughness map, переключение между режимами Glossy\Roughness поддерживается не во всех движках, но в любом случае адаптировать эту карту под нужный режим не составит труда при помощи Photoshop. Карта нормалей (Normal Map) не меняется в обоих решениях. Принципиальное отличие только в двух текстурах Diffuse и Specular\Metalness.
Для рабочего процесса Specular workflow — диффузная карта «закрашивается» черным в тех местах, где поверхность должна проявлять «металличность», там же, где поверхность является диэлектриком, задается необходимый цвет. Через текстурную карту Specular задается степень зеркальности объекта для диэлектрических участков через оттенок серого, а для металлических участков через необходимый цвет металла.
У рабочего процесса Metalness workflow— диффузная карта полностью цветная, как для металлических участков шейдера, так и на участках с диэлектрическими свойствами поверхности. Через черно-белую текстурную карту Metalness мы «сообщаем» рендер движку, где метал, где диэлектрик. По сути карта Metalness выполняет функции маски, а вся необходимая информация «снимается» с карты Diffuse.
Считается что Metalness workflow экономичней в контексте расходования видеопамяти, так как черно белая маска практически ничего «не весит». Я сравнил два сета и действительно сет для Metalness workflow на 20% легче сета Specular workflow.
Недостатки и тонкости работы с Metalness и Specular workflow
Я не буду перетряхивать все рендер движки, на предмет того, как у них организовано подключение так называемых PBR текстур и ограничусь только V-ray.
Классическая схема подключения текстур в Specular workflow
Недостатком этой схемы является то, что она предполагает полное отключение опции IOR, что фактически делает это решение физически некорректным, но…
Некоторые ресурсы предлагают адаптированный к V-ray сет для Specular workflow. В этом сете есть дополнительная IOR карта, которую нужно подключать к слоту Fresnel IOR и так же немного измененная по цвету Specular карта. Такое решение делает шейдер более корректным и отвечающим принципам PBR.
Хотя визуальная разница между этими двумя решениями будет едва ли заметна неискушенному пользователю.
Для подключения текстурных карт в режиме Metalness workflow, необходимо на вкладке BRDF переключиться в режим Use Roughness
Здесь тоже, всё не «слава богу», но получше чем у Specular workflow. Работа со множителем IOR в этом режиме возможна и я могу установить необходимое по ситуации значение, без использования дополнительных текстурных карт. Но, как мне «посчастливилось» выяснить, комплексное значение IOR у металлов значительно ниже чем у диэлектриков. И в примере который я сейчас разбираю, так же есть необходимость подключения дополнительной карты с разными значениями IOR для металла и для окислившейся поверхности (диэлектрика).
В связи с этим фактом, что у металлов есть комплексное значение IOR, которое хоть и не значительно, но влияет на результат, для Вас готовится отдельная статья по металлам, где я обновлю свое мнение и добавлю новую информацию по настройке металлов в V-Ray Next.
В статье Understanding metalness вы можете найти табличку, скриншот которой представлен ниже, Vlado (папа V-ray) вычислил комплексные значения IOR для ряда металлов которые можно\нужно использовать в совместно со включенной опцией Metalness.
Эти значения, в большинстве случаев, чуть больше единицы. Но как раз из-за этого что IOR метала значительно ниже значений у неметаллов, то имеет смысл заморочиться над этой разницей, для достижения максимальной реалистичности и физической корректности шейдинга в режиме Metalness workflow.
Поскольку карта с необходимым значением IOR, к этому сету не прилагалась, я сделал кастомное решение используя ноду Mix и карту Metalness в качестве маски для разных значений IOR. Значения для IOR я поставил следующие:
IOR 1.05 = 0.9524 RGB для металлической поверхности (среднее значение из таблицы Vlado)
IOR 1.5 = 0.6666 RGB для окиси на поверхности металла (диэлектрик)
После всех тестов, я отдаю свое предпочтение схеме — Metalness workflow + IOR map, так как она наиболее близка к физически корректном решению. Но и другие схемы вполне рабочие, разница будет заметна только на мелких деталях, да и то, только на композитных материалах, которые я выбрал для обзора, где одновременно используется два типа материала — метал и диэлектрик. В простых, однородных, материалах эти нюансы будут менее всего заметны.
Так же сделал рендеры с контрастной световой схемой, что бы сравнить все четыре схемы с оригинальным превью, эксперимент не удался…
Тут сложно дать однозначный и объективный комментарий и сделать какое то сравнение, так как у меня нет возможности задействовать HDRi карту, которая использовалось для рендеринга оригинального превью у шейдера. Так что «ноу комментс…» Оригинал поярче, но не факт что у превью не «подкручивали» цветность.
Что еще нужно знать при работе с так называемым PBR текстурами?
Та информация, которую я прояснил, в процессе работы с материалами к этой статье, стала откровением… Всю свою сознательную трудовую жизнь, когда уже многие начали работать в гамме 2.2 и я в том числе, все текстуры по умолчанию подгружались в этой гамме. Единственной картой, которая нуждалась в корректировке была карта нормалей (Normal Map) её нужно было подгружать в линейной гамме — 1.0
Когда я более подробно стал изучать PBR тему и работу с текстурами в частности, я был удивлен, когда узнал что и остальные текстуры, кроме Specular и Diffuse, необходимо было подгружать в линейной гамме.
Почему так?
Это связано с тем что все черно-белые текстуры, если грубо, участвуют в математических вычислениях. Так например в карте Metlaness, черный пиксель означает 0, белый пиксель означает 1. Математика это линейные вычисления, поэтому шейдерные вычисления так же происходят в линейном пространстве и только два шейдерных компонента — Specular и Diffuse должны быть в представлены гамме 2.2 поскольку это визуальные составляющие и их обработка происходит в нелинейном пространстве.
Specular workflows
Diffuse map - Gamma 2.2
Specular map - Gamma 2.2
Glossy map - Gamma 1.0
Normal map - Gamma 1.0
Metalness workflow
Diffuse map - Gamma 2.2
Metalness map - Gamma 1.0
Roughnes map - Gamma 1.0
Normal map - Gamma 1.0
Это правило, распространяется и на все другие шейдерные компоненты, которые реализуются через черно-белые растровые текстуры — они все должны подгружаться в гамме 1.0 не зависимо от того используете ли вы текстуры из PBR сборников или делаете что-то свое.
Всё. по PBR "точка".
PS Надеюсь что мои изыскания были не напрасны и принесут кому то пользу… во всяком случае у меня, в процессе работы над этим материалом, появилось много новых решений и вообще тема шейдинга стала достаточно прозрачной и понятной. Буду рад фидбеку и пожеланиям. Возможно я что то пропустил, дайте знать, и я просто дополню или уточню эти статьи необходимой информацией.
Яндекс.Дзен | ВКонтакте | YouTube | Instagram
В этом уроке я покажу вам, как создавать свои карты отражений или блеска (specular map) для игры The Sims 4 с помощью Photoshop и Sims 4 Studio. Мы рассмотрим свойства текстуры блеска и ее параметры на наглядных примерах.- Игра The Sims 4
- Программа Sims 4 Studio (но вы можете работать и в Workshop)
- Текстура вашего объекта
- Графический 2D-редактор с поддержкой DDS файлов (например, Photoshop и DDS плагин для него)
Прежде всего разберемся, что из себя представляет этот файл и как он работает. Карта содержит в себе 4 канала, каждый из которых призван контролировать тот или иной эффект. Достигается это путем заливки нужных фрагметов цветом от черного (0%) до белого (100%) в каждом из каналов. Я протестировала для наглядности их все по очереди, от 0 до 100% с шагом в 15, оставив остальные на уровне 50%:
Red – четкость/размытость отражений (белый/черный цвет канала). При этом как такового отражения конкретной комнаты вы не увидите – для этого в Sims 4 существует специальный файлик с условным изображением пустой комнаты с окном.
Канал Red в текстуре Specular в Симс 4Green – сила отражения (белый - 100% отражения, черный – полное отсутствие отражения). Здесь, в общем-то все понятно.
Канал Green в текстуре Specular в Симс 4Blue – глянцевость поверхности (белый - чистый глянец, черный - матовый). Скорее всего, это отражается в наличии дополнительных бликов. Самый непонятный пока для меня канал, ибо эффект его если и заметен невооруженным глазом, то только на темных и однородно окрашенных поверхностях. Полагаю, тут могут повлиять значения других каналов, а также количество полигонов, форма вашего объекта и карта рельефа.
Канал Blue в текстуре Specular map в Симс 4Alpha – общая сила эффектов. Но эффект при изменении этого канала очень незначительный, и, по некоторым данным, файл может существовать и без альфы, хотя я бы не рекомендовала избавляться от него специально. Удалять или не удалять – решать вам, но если большинство текстур использует альфу, то лучше не рисковать и действовать по заданной схеме.
Прочитать карту по ее полному изображению сложно. И это еще мягко сказано, судите сами:
Поэтому следует рассматривать каждый канал по-отдельности. При этом я бы назвала канал Green основным. Почему?
Ниже я провела тест с различным сочетанием минимальных/максимальных эффектов для трех каналов, без альфы.
По порядку:
Каналы RGB в текстуре блеска в Симс 4
Как видите, там, где канал Green на нуле (полностью черный), нет и других эффектов.
Я проверила также возможность использования этого файла не только для воссоздания свойств различных материалов на всей поверхности меша, но и эффекта шелкографии (воссоздав нужный узор лишь силами Specular, и не трогая карту текстур, или Diffuse) на отдельных его участках:
Что характерно – отражение меняется при смене угла обзора. При этом использовать можно узор, градиент от черного к белому, комбинировать эффекты.
Шторы с блеском specular в Симс 4В общем – экспериментируйте, эта карта открывает довольно широкий простор для творчества.
Итак, что нужно помнить? Для глянцевых и блестящих поверхностей (вроде стекла или полированного металла) усиливаем все эффекты (максимум – белый цвет). Для тусклых, матовых, почти или вовсе лишенных блеска – уменьшаем (чем темнее, тем лучше, вплоть до черного, но с оглядкой на Green ). Такие материалы, как кожа и лакированное, но не полированное дерево, требуют разного сочетания эффектов. Если не можете подобрать вручную – попробуйте подсмотреть карту схожего предмета в игре.
Эффекта можно добиться, осветляя/затемняя изображение текстуры в каждом из каналов или же полностью заливая эту область нужным оттенком серого.
А теперь попробуем применить наши знания на практике. Для этого я подготовила свой собственный меш и запекла текстуру для него. Вот как мой объект выглядит в игре с нейтральной (чистой) картой блеска:
При помощи карты блеска я хочу добиться следующих эффектов: матовая коробка, яркая блестящая подложка и полу-матовый, с небольшим размытым блеском (за счет глазури), шоколад.
Откройте вашу запеченную основу для карты текстур (Diffuse) в 2D редакторе (я использовала Photoshop).
Вы можете задать как единые характеристики всему мешу целиком, так и различные, для отдельных его частей. Для выделения нужной области используйте инструмент Выделение прямоугольной области (Rectangular Marquee Tool).
Но прежде чем мы начнем работать с каналами RGB, нам нужно добавить альфа слой. Для этого выделяем все изображение сочетание клавиш Ctrl+A, затем копируем сочетанием Ctrl+C и переходим во вкладку Каналы (Channels). Здесь нажимаем на изображение чистого листа в нижней части окна, тем самым добавляя еще один канал под названием Alpha 1.
По умолчанию он будет уже выбран (вы увидите, что в окошке просмотра все стало абсолютно черным) и все, что нам нужно теперь сделать - вставить сюда скопированное из канала RGB изображение сочетанием Ctrl+V.
Карта блеска в Photoshop Карта спекуляр в ФотошопеТеперь выберите канал Red (четкость/размытость отражений), и выделите нужную область. В данном случае две части из трех (коробка и сам шоколад) у меня будут с полностью размытым отражением. Выделяем их и через меню Изображение (Image) – Коррекция (Adjustments) – Яркость/контрастность… (Brightness/Contrast. ) и затемняем до максимума.
Редактирование каналов RGB Редактирование яркостиВозможно потребуется повторить действие несколько раз, прежде чем вы добьетесь нужного эффекта (как вариант, можно залить выделенную область черным цветом при помощи инструмента Заливка (Paint Bucket Tool)). Я повторила затемнение еще 2 раза.
Теперь обратим выделение сочетанием Ctrl+Shift+I (или через пункт меню Выделение (Select) - Инверсия (Inverse)) и немного осветлим оставшуюся область, сделав отражение на подложке более четким.
Опять же, можно залить эту область серым цветом, со значением яркости около 60 %.
Думаю, вы заметите, что изображение в окошке предпросмотра канала RGB поменяло свой цвет. Но волноваться об этом не стоит - так и должно быть.
Теперь переходим в следующий канал – Green (сила отражения). Здесь также осветлим область подложки, тем самым усилив яркость отражений:
Область с шоколадными конфетами затемним 1 раз до максимума, снизив яркость:
Для коробки придется повторить эту процедуру еще 1 раз (значение яркости серого цвета здесь не более 5-10%).
Теперь переходим в канал Blue (глянцевость/матовость поверхности). Коробку мы делаем матовой, снова снизив яркость канала практически до нуля в этой области:
Оставим значение для шоколада как есть, то есть яркость серого здесь будет около 50 %. Область же подложки осветлим, усилив глянцевость.
Альфа канал я оставлю на среднем значении, без изменений.
Теперь сверим размер карты. Дело в том, что в отличие от карты рельефа, которая редко не совпадает с картой текстур, карта блеска часто бывает меньше, обычно - в 2 раза. Чтобы проверить это, нужно открыть ваш package файл в Sims 4 Studio и во вкладке Warehouse найти карту блеска. Если нажать на нее, то в правой части, над окошком предпросмотра, вы увидите ее размеры:
Изменить размеры вашей карты можно через пункт меню Изображение (Image) – Размер изображения (Image Size…).
Как я уже говорила, вы можете не корректировать яркость текстуры, а заливать нужные области оттенками серого. Единственный канал, где заливку использовать не рекомендую в данном случае – это альфа. Ваша карта должна будет выглядеть примерно так:
Теперь сохраняем файл в формате .dds (DXT 5 Interpolated alpha):
Импортируем карту в наш файл package и сохраняем его.
Помещаем в игровую папку Mods и тестируем в игре!
Specular Map (карта отражения) – текстура, которая показывает способность отражения материала. В отличие от reflection map, specular map не показывает отражения сцены, в которой находится объект, а показывает отражения света падающего на него. Specular Map содержит в себе пиксели в черно-белой цветовой гамме. Чем светлее пиксель, тем больше способность материала отбивать свет и тем ярче на нём блики от света. Соответственно чем темнее пиксель, тем матовее становится материал и теряет своё свойство отражать свет. Для материалов керамической плитки и полированного металла могут использоваться светлые тоны, а для тканей и дерева тёмные.
Что такое Specular Map (карта отражения)?
мм. на самом то деле весьма оптимизовано использовать Specular Map в качестве Reflection Map. даже если смотреть с физической точки зрения то оно так и есть.
Аврелий
Да это так. Это сделано в демках RenderMonkey. Т.е. premultiplied alpha - когда спек, храниться в альфа канале текстуры отражения.
А разве то, о чём написано, не является Gloss Mapом?
А Specular Map он вроде как цветной.
Executor
> А Specular Map он вроде как цветной.
от желания зависит
"чем темнее пиксель, тем матовее становится материал и теряет своё свойство отражать свет. Для материалов керамической плитки и полированного металла могут использоваться светлые тоны, а для тканей и дерева тёмные"
по описанию похоже на параметр roughness в моделе кука.
слабый спекуляр не делает поверхность матовой. он просто делает слабый спекуляр. матовость/глянцевость это разная фокусировка блика.
coordBox
> матовость/глянцевость это разная фокусировка блика.
это разные веса - если брать тот же кук
. я использую спек мап как рефл мап.
на практике дает хорошый результат. а то толку рисовать 100500 мапов для каждой шороховинки материала
innuend-ЫЧ
> это разные веса - если брать тот же кук
ну незнаюю. если делать "чем меньше спекуляр тем размазанее блик" то будет невезде правильно смотреться. пример грязный кафель
Аврелий
> на практике дает хорошый результат. а то толку рисовать 100500 мапов для
> каждой шороховинки материала
+1 тож так делаю.
Моя использует ч\б карты спекуляра для определения интенсивности блика и specular exponent map( тоже ч\б ) для размера блика, хотя последнее редко юзал.
coordBox
> > это разные веса - если брать тот же кук
> ну незнаюю. если делать "чем меньше спекуляр тем размазанее блик" то будет
> невезде правильно смотреться. пример грязный кафель
веса в куке, это rd+rs=1, это с shininnes не связано
Некоторые в текстуре держат power, но помоему это както странно.
Ну например есть меш - солдат в sci-fi броне и с визором. Визор - это стекло. Броня - это железо. На все это добро одна текстура. Вот на визоре можно сделать power большим, на броне - поменьше. Смотрится хорошо. Визуально лучше чем когда один power на все. Хотя можно конечно и не делать.
DeadMeat
Ну можно просто отдельными мешами это нарисовать впринципе.
Читайте также: