Четверг, 18.04.2024, 06:30
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Мир трех измерений
Форма входа
Меню сайта

Категории раздела
Уроки [15]
Здесь размещена полезная информация

Мини-чат

Наш опрос
Какой Windows Вы предпочитаете?
Всего ответов: 1

Статистика

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Главная » Статьи » Уроки

    Косяк рыб при помощи Particle Flow

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

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



    Такой эффект невозможно воссоздать при помощи обычных источников частиц, но Particle Flow позволяет это сделать.

    Определим задачу урока: в начале анимации косяк рыб должен принять форму большой рыбы, а затем на протяжении шестидесяти кадров рыбки должны переплыть на другое место и выстроиться в форме осьминога. Почти так, как в фильме Finding Nemo.



    Скачать конечную анимацию можно отсюда, 1,8 Мб

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

    Модель осьминога ученики CGLiberty, последовательно выполняющие задания в школе, без труда обнаружат в своих архивах. Всем, кто учится в школе заочно и пропустил урок по моделированию осьминога, настоятельно советуем вернуться к нему и создать собственную модель.



    Обратите внимание, что для этой сцены можно использовать не готовую модель осьминога, а промежуточный вариант, где уже угадывается его форма, но модель еще низкополигональная. Если использовать высокополигональную модель, то просчет анимации может занять достаточно много времени, а то и вовсе не состоится – 3ds Max может выдать сообщение об ошибке.

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



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

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



    Для начала работы с Particle Flow перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите строку Particle Systems (Системы частиц), нажмите кнопку PF Source (Источник Particle Flow) и щелкните в окне проекции. Пиктограмма в окне проекции показывает наличие в сцене системы частиц.



    Для доступа к основному окну настройки системы частиц нажмите кнопку Particle View (Представление частиц) в свитке настроек Setup (Настройка) или клавишу 6.

    Окно Particle View можно условно разделить на четыре области. Большую часть окна занимает диаграмма, демонстрирующая процесс создания эффекта с частицами в сцене. В нижней части окна размещены доступные средства для описания эффекта. При добавлении их в общую диаграмму в правой нижней части окна Particle View отображается их описание, а в правой верхней – настройки. Изменяя их, можно изменять параметры эффекта на том или ином этапе.

    Прежде, чем мы начнем вас "пугать" терминами, хотим сказать, что несмотря на кажущуюся сложность, модуль Particle Flow достаточно прост и логичен. Если говорить в двух словах, он работает так: вы создаете поток частиц, а дальше составляете диаграмму всех действий, происходящих с ним. Например, указываете, что при достижении определенного возраста частицы дробятся на более мелкие, а при столкновении с определенным объектом – меняют цвет.

    Самое большое достоинство Particle Flow – это то, что вы можете описывать поведение частиц до бесконечности. Задали условие (критерий) – и получили ответвление потока, например, для частиц, которые столкнулись с телом, можно задать одно поведение, для тех, которые пролетели мимо – другое.

    Основными средствами для описания эффекта с частицами являются операторы (Operators) и критерии (Tests). Операторы и критерии формируют события (Events). При помощи операторов можно определить свойства частиц в событии. Операторы определяют размер частиц, их форму, цвет, скорость движения, наличие и свойства материала и т.д. Критерии используются для связывания событий друг с другом. Они указывают на то, при каком условии состоится переход от одного события к другому. Скажем, критерий Collision (Столкновение) означает, что частицы должны перейти к другому событию, столкнувшись с объектом, указанным в его настройках.

    После открытия окна Particle View в нем можно увидеть начальную диаграмму, которая уже содержит два события: Global Event (Общее событие) и Event 01 (Событие 1). В событии Global Event помещен оператор Render. Он определяет параметры визуализации частиц. Событие Event 01 содержит базовый набор операторов.



    В нем происходит порождение новых частиц источником. Рождение частиц определяется оператором Birth 01. В настройках этого оператора можно указать первый кадр, в котором произойдет рождение частиц (Emit Start), и последний (Emit Stop) — после которого частицы появляться не будут. Кроме того, оператор Birth отвечает за количество частиц (Amount), испускаемых источником PF Source. Поскольку в нашей анимации в нулевом кадре частицы уже существуют, и никакого порождения в процессе протекания анимации не происходит, для параметров Emit Start и Emit Stop устанавливаем значение 0. Для параметра Amount задаем количество — 400.



    Второй оператор в группе этого события — Position lcon 01 (Расположение пиктограммы 01). Его настройки определяют область испускания частиц. В нашем случае частицы должны изначально располагаться на объекте, а не в некоторой области, определяемой вспомогательным значком. Поэтому этот оператор нужно удалить, щелкнув по нему правой кнопкой мыши и выбрав Delete.

    Вместо оператора Position lcon добавляем Position Object. Для этого найдите этот оператор в нижней части окна Particle View и перетащите его значок на первое событие. При помощи этого оператора мы указываем объект, на котором частицы должны располагаться в начале анимации. Нажмите кнопку Add в списке Emitter Objects и укажите большую рыбу в сцене.

    Теперь вы можете выделить рыбу в сцене и скрыть ее (щелчок правой кнопкой мыши – Hide Selection). Будет хорошо видно, что частицы приняли ее форму.



    Продолжаем разбираться с операторами.

    Следующий оператор — Speed 01 (Скорость 01) — задает скорость и направление потока частиц. Этот оператор нам не нужен, поскольку нам необходимо переместить частицы на объект, а не в какую-либо сторону. Поэтому этот оператор мы удаляем.

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



    Оператор формы, Shape 01 (Форма 01) задает форму каждой частицы в виде точки, тетраэдра, куба или сферы, а также их размер. Но форма нашей частицы должна быть иная – каждая частица должна быть идентичная модели рыбки. Поэтому этот оператор мы удаляем, а вместо него добавляем в событие оператор Shape Instance. В группе Particle Geometry Object нажмите кнопку и укажите в сцене маленькую рыбку.



    В окне проекции на месте частиц мы пока что видим только схематические плюсики. Последний оператор этого события – Display (Отображение). Он предназначен для управления отображением частиц в окне проекции. По умолчанию выбран вариант отображения Ticks (Отметки). Чтобы увидеть рыбок, выберите в списке Type вариант Geometry.



    Плюсики превратятся в рыбок



    Теперь обратите внимание на положение рыбок. Оно зависит от положения исходной модели. Если ориентация каждой рыбки в косяке неправильная, например, они все смотрят головой вверх, включите оператор Rotation и выберите в списке Orientation Matrix такой вариант, при котором рыбки расположатся правильно, например, Speed Space Follow.

    Если же ориентация каждой рыбки в косяке правильная, оператор Rotation можно удалить.

    Таким образом, мы настроили первое событие и положение частиц в нулевом кадре. Обычно для перехода потока частиц к следующему событию используется какое-нибудь условие, но в нашем случае никакого условия нет. Просто нужно все частицы направить на поверхность второй модели (осьминога). Поэтому используем безусловный переход, добавив в конец диаграммы первого события критерий Send Out, который просто говорит о том, что все частицы должны направиться ко второму событию. Критерии легко опознать по желтому цвету.



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



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



    Критерий Find Target поможет нашему косяку найти осьминога и расположиться по его поверхности. В самом верхнем списке выбираем вариант Control By Time. Тем самым мы получим возможность задать число кадров, в течение которых будет выполнено перемещение частиц. Число кадров устанавливается в поле Time. По умолчанию оно равно 60, это нас устраивает.

    В группе Target установите переключатель в положение Mesh Object, нажмите кнопку Add и укажите в сцене модель осьминога.



    При создании нового события автоматически добавляется оператор Display. Чтобы увидеть рыбок, облепивших осьминога, нужно для этого оператора тоже изменить тип отображения частиц в окне проекции на Geometry. Теперь можно скрыть в сцене модель осьминога и протянуть ползунок анимации, чтобы посмотреть, что у нас получилось.

    Рыбы плывут в сторону осьминога, однако, достигнув цели, не останавливаются, а проплывают дальше. Чтобы остановить их, создадим третье событие, перетащив в свободную область окна Particle View оператор Position Object.

    Свяжите второе событие с третьим, используя выступ напротив критерия Find Target. Для того чтобы частицы остановились, достигнув осьминога, в настройках оператора Position Object укажите в качестве объекта, по форме которого должны расположиться частицы, осьминога. Затем установите флажок Lock on Emitter. Чтобы наблюдать рыбок в окне проекции, опять же измените тип отображения частиц на Geometry в настройках оператора Display.



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

    Если вы захотите визуализировать анимацию, то не забудьте о материале, который стоит назначить рыбкам, чтобы они лучше смотрелись. Для того чтобы назначить частицам материал, достаточно добавить оператор Material Static в событие Global Event, после чего выбрать материал, нажав кнопку None.

    Скачать конечную анимацию можно отсюда, 1,8 Мб



    Как высылать домашнее задание (для учеников школы):

    Для проверки этого домашнего задания вам достаточно выслать нам только сцену, анимацию рендерить и отсылать не нужно. Но если вы довольны результатом и хотите показать, что у вас получилось, другим ученикам школы, вы можете просчитать анимацию, загрузить файл на какой-нибудь файлообменный сервер, например, на Rapidshare.com и выложить ссылку в своем классе. Если анимация понравится нам и не будет невероятно огромного размера, мы закачаем ее на сайт, чтобы ее всем было удобно скачивать.
    Категория: Уроки | Добавил: izmerenie (27.03.2009)
    Просмотров: 3680 | Рейтинг: 5.0/1 |
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:

    Copyright MyCorp © 2024