300 likes | 657 Views
Визуализация дождя в TimeShift. Роман Лебедев KRI 18.04.08 Saber Interactive. Эффекты дождя. Сложный эффект Разделяется на множество составляющих Каждая составляющая требует индивидуального подхода Обеспечивает насыщенность сцены. Существующие real-time методы. Система частиц
E N D
Визуализация дождя в TimeShift Роман Лебедев KRI 18.04.08 Saber Interactive
Эффекты дождя • Сложный эффект • Разделяется на множество составляющих • Каждая составляющая требует индивидуального подхода • Обеспечивает насыщенность сцены
Существующие real-time методы • Система частиц • Плоскость перед камерой (ATI ToyShop) • Полигональная поверхность • Два конуса (N. Wang 2004)
Требования 1 • Генерация данных для визуализации - единожды • Дождь идет только под открытым небом • Настройки параметров дождя художниками (скорость, расстояние видимости)
Требования 2 • Быстрая отрисовка • Минимальные затраты памяти • Полная определенность в каждой точке сцены, в каждый момент времени (TStop, TSlow, TRev) • Капли в TStop, TSlow
Составляющие дождя 1 • Мокрые материалы • Капли на камере • Туман • Облака • Вспышки молнии
Составляющие дождя 2 • Лужи • Льющаяся вода (из труб, с различных поверхностей) • Струи дождя • Брызги на земле и на оружии
Брызги 1 Изменяется scale, position, color, distortion scale
Брызги 2 Дополнительный скейл в красной полосе
Струи дождя Time Normal Time Stop
Визуализация струй дождя 1 • Генерация плоскостей • Рендеринг color+distortion • Изменение скорости течения времени
Визуализация струй дождя 2 • Геометрия генерируется вокруг камеры • Невидимые плоскости не генерируются • Уход в прозрачность на расстоянии
Подготовка текстур • Hi-res модели капель • Текстура с альфой и нормалями готовилась в Maya • Затайленость • Размер текстуры – 512x512
Предобработка уровня 1 Определение высоты струй, сдвига u/v координат для рядов и колонок плоскостей Y y1 y2 y3 Z
Предобработка уровня 2 Определение точек брызг, сдвига, фазы, радиуса Pos(R,a,t) R(t) a(t) pos(R,a,t)
Предобработка уровня 3 • Упаковка данных float2int и т.п. • Укладка в структуры с учетом выравнивания • Сетка демо-уровня Брызги – 313 х 399 упаковка 22 байта -> 10 байт 2683 Кб - 1219 Кб = 1.5 Мб экономии
Средства отладки • Визуализация геометрии дождя • Крестики в узлах сетки • Привязка к игроку\к камере
Особые случаи 1 Коллижн со сложной геометрией – ставится специальное свойство материала
Особые случаи 2 Недостаток крупной сетки
Особые случаи 3 Дырки в крыше принудительный коллижн с крышей
Затраты на разработку • 6 человекомесяцев • 1 художник • 1 программист • Помощь рендер-отдела • Первые тесты в Maya • Быстро прототип в движке • Оптимизация и исправление ошибок
Если Вы тоже хотите программировать next-gen спецэффекты, приходите к нам работать jobs@saber3d.com
Спасибо за внимание Вопросы?