SlideShare a Scribd company logo
1 of 12
UE4: Материалы
для мобильных игр
Алямкин Владимир
Pushkin Studio
#ПрактикаОтMailRu
Мобилки vs. Десктоп
Разницы нет. Серьезно.
● Мало памяти
● Очень мало памяти
● Жизнь - боль
● Операции над UV стоят дорого
● Translucent материалы -
ахиллесова пята движка
● Количество сэмплов
ограничено (весьма)
● Что-то может пойти не так
(iOS 9.3.5)
Но есть ньюанс :)
Правила игры на мобилках
Память:
● Сокращение числа уникальных шейдеров
● Минимализация размера каждого шейдера
● Поканальная упаковка текстур
Производительность:
● Custom UVs
● Аккуратный тайлинг
● Контроль за числом текстурных выборок
Память (1): Уникальные шейдера
● Switch == полноценный шейдер (а не инстанс)
● Булевый свитч в инстансе == новый шейдер
Параметризируем только цифровыми величинами и
слотами текстур!
Пример: если Roughness/Metallic может быть задана как
текстурой, так и цифровым значением - используйте
множители и маленькую текстурку во втором случае
Память (2): Вариации шейдеров
Каждый “Usage” - добавляет до 4 Мб
памяти (и размера на диске)
● Автоматическое включение Usage
рекомендуется отключать
● Проверяйте размеры шейдеров путем
распаковки .ipa/.apk
● QualitySwitch - добавляют все
возможные вариации к размеру
шейдера
Память (3): Настройки движка
● Game Discards Unused Material
Quality Levels - НЕТ
● Отключаем ненужные шейдерные
возможности
● Конфигурация качества - очень
дорого в плане RAM (ОЧЕНЬ!)
Память (4): Поканальная упаковка
Примеры:
RME: Roughenss/Metallic/Emissive
RMM: Roughness/Metallic/Mask
В мастер-материале рекомендуется
использовать дефолтные “легкие” текстуры с
низким разрешением, назначая “настоящие” - в
инстансах материала
● По-умолчанию в материале до 5 текстур
● Всего 4 слота при динамических тенях!
Скорость (1): Custom UVs
● Любые рассчеты UV на пиксельном
шейдере - дорого!
● CustomUV - расчет UV в вертексном
шейдере, а не пиксельном
Ограничения:
● Максимум - до трёх каналов на
материал
● Качество бленда и сэмплирования
по UV зависит от сетки меша
● Необходимы только прямые связи
нод TexCoord и Param2D
Скорость (2): Тайлинг и сэмплирование
Пример: Ландшафты (сэмплирование
на горизонте с высоким тайлингом)
Решение: Динамический тайлинг
Проблема:Зависимость UV от сетки
Сэмплирование внутри Custom нод - опасно
(требуется различное поведение под каждую
платформу)
Визуал: Особенности
● Отражения берутся от ближайшей Reflection
пробы - по пивоту, а не пикселю
● PlanarReflections - светлая фантазия, а не
production-ready фича
● Mip Gen Settings - играет огромную роль на
восприятие объектов на расстоянии
Пара советов
● “Планируйте” материалы и инстансы
● Много материалов могут потребовать
различные VFX’ы - держите художников в
ежовых рукавицах
● Следите за Material Usage и Switch’ами
● Проверяйте размер шейдера после упаковки
● В общем случае - текстура лучше математики!
(генерация это круто, но не для мобил)
Не слушайте котика -
тестируйте на устройствах!
Всем спасибо!

More Related Content

More from DevGAMM Conference

More from DevGAMM Conference (20)

Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 
Launching a title in Asia Pacific and China / Maxim Chuvalov (Wargaming)
Launching a title in Asia Pacific and China / Maxim Chuvalov (Wargaming)Launching a title in Asia Pacific and China / Maxim Chuvalov (Wargaming)
Launching a title in Asia Pacific and China / Maxim Chuvalov (Wargaming)
 
5 things I wish I knew before becoming a VFX Artist / Paulina Grigonis (Tuatara)
5 things I wish I knew before becoming a VFX Artist / Paulina Grigonis (Tuatara)5 things I wish I knew before becoming a VFX Artist / Paulina Grigonis (Tuatara)
5 things I wish I knew before becoming a VFX Artist / Paulina Grigonis (Tuatara)
 
Pitching with Killer Demos / Jaroslav Stacevič (Nordcurrent)
Pitching with Killer Demos / Jaroslav Stacevič (Nordcurrent)Pitching with Killer Demos / Jaroslav Stacevič (Nordcurrent)
Pitching with Killer Demos / Jaroslav Stacevič (Nordcurrent)
 
How to Craft the Perfect Pitch / Nathan Sölbrandt ( Xsolla)
How to Craft the Perfect Pitch / Nathan Sölbrandt ( Xsolla)How to Craft the Perfect Pitch / Nathan Sölbrandt ( Xsolla)
How to Craft the Perfect Pitch / Nathan Sölbrandt ( Xsolla)
 
Making Games We Like aka Personal Biases in Game Design / Rok Mioč (Outfit7)
Making Games We Like aka Personal Biases in Game Design / Rok Mioč (Outfit7)Making Games We Like aka Personal Biases in Game Design / Rok Mioč (Outfit7)
Making Games We Like aka Personal Biases in Game Design / Rok Mioč (Outfit7)
 
How to game the Xbox system / Neil Holmes (Xbox)
How to game the Xbox system / Neil Holmes (Xbox)How to game the Xbox system / Neil Holmes (Xbox)
How to game the Xbox system / Neil Holmes (Xbox)
 
AI-Enhanced Game Development: Unleashing Creativity and Empowering Leaders / ...
AI-Enhanced Game Development: Unleashing Creativity and Empowering Leaders / ...AI-Enhanced Game Development: Unleashing Creativity and Empowering Leaders / ...
AI-Enhanced Game Development: Unleashing Creativity and Empowering Leaders / ...
 

Unreal Engine 4: Material creation for mobile games

  • 1. UE4: Материалы для мобильных игр Алямкин Владимир Pushkin Studio #ПрактикаОтMailRu
  • 2. Мобилки vs. Десктоп Разницы нет. Серьезно. ● Мало памяти ● Очень мало памяти ● Жизнь - боль ● Операции над UV стоят дорого ● Translucent материалы - ахиллесова пята движка ● Количество сэмплов ограничено (весьма) ● Что-то может пойти не так (iOS 9.3.5) Но есть ньюанс :)
  • 3. Правила игры на мобилках Память: ● Сокращение числа уникальных шейдеров ● Минимализация размера каждого шейдера ● Поканальная упаковка текстур Производительность: ● Custom UVs ● Аккуратный тайлинг ● Контроль за числом текстурных выборок
  • 4. Память (1): Уникальные шейдера ● Switch == полноценный шейдер (а не инстанс) ● Булевый свитч в инстансе == новый шейдер Параметризируем только цифровыми величинами и слотами текстур! Пример: если Roughness/Metallic может быть задана как текстурой, так и цифровым значением - используйте множители и маленькую текстурку во втором случае
  • 5. Память (2): Вариации шейдеров Каждый “Usage” - добавляет до 4 Мб памяти (и размера на диске) ● Автоматическое включение Usage рекомендуется отключать ● Проверяйте размеры шейдеров путем распаковки .ipa/.apk ● QualitySwitch - добавляют все возможные вариации к размеру шейдера
  • 6. Память (3): Настройки движка ● Game Discards Unused Material Quality Levels - НЕТ ● Отключаем ненужные шейдерные возможности ● Конфигурация качества - очень дорого в плане RAM (ОЧЕНЬ!)
  • 7. Память (4): Поканальная упаковка Примеры: RME: Roughenss/Metallic/Emissive RMM: Roughness/Metallic/Mask В мастер-материале рекомендуется использовать дефолтные “легкие” текстуры с низким разрешением, назначая “настоящие” - в инстансах материала ● По-умолчанию в материале до 5 текстур ● Всего 4 слота при динамических тенях!
  • 8. Скорость (1): Custom UVs ● Любые рассчеты UV на пиксельном шейдере - дорого! ● CustomUV - расчет UV в вертексном шейдере, а не пиксельном Ограничения: ● Максимум - до трёх каналов на материал ● Качество бленда и сэмплирования по UV зависит от сетки меша ● Необходимы только прямые связи нод TexCoord и Param2D
  • 9. Скорость (2): Тайлинг и сэмплирование Пример: Ландшафты (сэмплирование на горизонте с высоким тайлингом) Решение: Динамический тайлинг Проблема:Зависимость UV от сетки Сэмплирование внутри Custom нод - опасно (требуется различное поведение под каждую платформу)
  • 10. Визуал: Особенности ● Отражения берутся от ближайшей Reflection пробы - по пивоту, а не пикселю ● PlanarReflections - светлая фантазия, а не production-ready фича ● Mip Gen Settings - играет огромную роль на восприятие объектов на расстоянии
  • 11. Пара советов ● “Планируйте” материалы и инстансы ● Много материалов могут потребовать различные VFX’ы - держите художников в ежовых рукавицах ● Следите за Material Usage и Switch’ами ● Проверяйте размер шейдера после упаковки ● В общем случае - текстура лучше математики! (генерация это круто, но не для мобил) Не слушайте котика - тестируйте на устройствах!