Бесплатная реклама

Автор: Евгений Булатов «Vendigo»

Опубликовано: 07.08.2008

Изменено: 07.08.2008

Постоянная ссылка

Комментарии [0]

Создаем огонь в редакторах частиц


Евгений Булатов рассказывает о своем методе создания огня в таких редакторах частиц как "Magic Particles" и "Particle Illusion", и подготовке его для вставки в игру...



Страницы: 1 2

Фотоблог автора статьи: vendigo.ru  

Содержание

Введение
Часть I. Создание текстур
Часть II. Создаем огонь в Magic Particles
Часть III. Создаем огонь в Particle Illusion
Часть IV. Экспорт огня в последовательность кадров
Заключение

Введение

Доброго времени суток, меня зовут Булатов Евгений, я работаю художником в студии "Extreme Developers" (г. Миасс), мы занимаемся разработкой игр. В этом уроке я расскажу о своем методе создания огня в редакторах частиц.

Частицы стали неотъемлемой частью компьютерной графики. Кино, телевидение, видеоигры, используют их для создания спецэффектов. Редакторы частиц встроены во многие пакеты 3D моделирования, или подключаются к ним как отдельные плагины. Например, FumeFX для 3DSmax (стоимость 845 USD). Это действительно впечатляющие системы, тысячи частиц двигаются подчиняясь физическим законам, согласно десяткам редактируемых свойств. Красиво и реалистично, но медленно и дорого.

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

Пример такой программы это "Magic Particles" - отечественная разработка, распрастроняющаяся бесплатно. Или другая более известная программа - "Particle Illusion". Вы можете использовать любой из этих редакторов для создания такого огня или использовать свой (может быть ваш движок, содержит свой инструмент для настройки частиц). Кроме того вам потребуется графический редактор для рисования текстур.

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

В конце статьи, в материалах к уроку вы можете найти файлы эмиттеров для Magic Particles и Particle Illusion, а также текстуры частиц и видео ролик с анимацией огня.

Итак начнем. Для выполнения задачи нам потребуется редактор частиц "Magic Particles" (http://www.astralax.ru) или "Particle Illusion" (http://www.wondertouch.com), и графический редактор (например Photoshop).

Часть I. Создание текстур

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

Magic Particles понимает формат файлов PSD, что очень удобно и даже его альфаканал (для прозрачности). Но поскольку мы создаем огонь, и будем использовать специальный режим смешивания (в Photoshop режим наложения, называется Screen) то альфаканал использовать необязательно.

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

Я использовал тонкую кисть с мягкими краями, а затем размазывал края «пальцем», при необходимости дублируя слои, и размывая их Gaussian Blur.

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

Часть II. Создаем огонь в Magic Particles

После того как текстуры готовы, пора переходить к редактору частиц. В этой части я опишу создание огня в "Magic Particles". А в следующей дам пояснения по "Particle Illusion".

Запустите Magic Particles. Вверху находится панель кнопок, нажимаем на ней кнопку «создать эмиттер», а затем «создать тип частиц внутри эмиттера».

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

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

Теперь переключитесь на вкладку "Цвет" и включите параметр Интенсивность (специальный режим смешивания для светящихся частиц, соответствует режиму screen в Photoshop). Затем щелкните на серую полоску внизу, вы поставите на ней точку - маркер. Эта полоска с помощью маркеров, задает цвет частицам на протяжении их жизни.

Настройте цвет следующим образом:

Последний маркер должен быть черный. Это нужно для того что бы частицы плавно исчезали (используем особенности режима наложения «интенсивность»). Таким образом мы задали цвет цвет пламени нашего огня.

Сейчас текстуры каждой частицы переключаются, программа проигрывает последовательность кадров. Но поскольку мы не рисовали анимацию то это нам не подходит. Переключитесь на вкладку "Текстура" и поставьте Скорость смены текстур равной нулю, так же включите параметр Случайная стартовая текстура. Таким образом для каждой частицы, будет выбираться случайная текстура, неизменная на протяжении ее жизни.

Теперь остается настроить движение частиц, и вы получите настоящий огонь! Но для начала измените интервалы видимости (внизу нижней панели) 9% в начале и 95% в конце. Так программа не будет показывать начало и конец эффекта. Это удобно если они нам не нужны.

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

Начнем с эмиттера. Переключитесь на эмиттер в Дереве эмиттеров (слева) и в самом верхнем графике смените тип эмиттера с точки на линию.

Из этой линии (отрезка) будут испускаться частицы. У нее два параметра, синий график - угол наклона, зеленый - длинна линии. Начальные параметры угол – 0, длина – 100 вполне подходят для огня.

Теперь изменим угол испускания частиц. Следующий график Направление эмиттера, параметр Градус - задайте углы 36° и 144°, чтобы частицы выбрасывались вверх.

Сейчас это не очень похоже на огонь. Переключитесь на частицы и нажмите на панели кнопку инструментов Настройка графиков:

Тут собраны вместе различные параметры частиц, поскольку параметры все рядом, очень удобно настраивать их через это окно. Такие значения частиц как Жизнь, Количество, Размер, Скорость взаимосвязаны. Например, высокий параметр Скорость увеличит темп движения частиц, и одновременно удлинит пламя, но понизив значение Жизнь вы сможете уменьшить его высоту.

Настройте параметры по своему вкусу или воспользуйтесь этими:

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

Перейдем к настройкам графиков. Сейчас огонь кажется слишком плотным, а пламя излишне ярким. Найдите график Степень непрозрачности (коэффициент) и понизьте его до 35.

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

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

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

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

Выглядит это вот так:

Так я получил нужное движение огня.

Поскольку пламя вначале расширяется, а вверху становится тоньше, то я настроил график Размер (коэффициент) вот так:

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

Сейчас пламя все еще довольно сильное и высокое. Немного уменьшите его высоту и сымитируйте колебания. Вот к чему я пришел, настраивая графики Продолжительность жизни и Излучаемое количество частиц:

Графики с двумя линиями интересны тем, что они позволяют задавать значения случайным образом в интервале между зеленой и синей линией. Т.е. каждой создаваемой частице будут присваиваться разные значения параметра.

Получилось не плохо, но что бы бы пламя казалось более живым, я добавил вращение частицам. График Вращение частицы выставил от 0 до 100. А Вращение (коэффициент) сделал затухающим, чтобы убрать неестественное вращение вверху.

Получился вот такой результат (GIF анимация):

Также вы можете посмотреть результат в формате видео-ролика fire.avi (1.2 Мб).

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

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

Вот и весь мой нехитрый способ создания огня в редакторе частиц "Magic Particles". Здесь вы можете скачать файл с примером и текстурами от этого урока.

 

Страницы: 1 2