21. Соедините узлы, как показано на рис. 9.73.
22. Чтобы рассчитать расстояние, на которое частица отлетает от центра эмиттера, надо вычесть из координат отдельной частицы координаты центра эмиттера. Координаты отдельной частицы (в векторном выражении) можно получить с помощью узла PGetDa-ta (Thinking Particles -> TP Helper -> PGetData). Создайте этот узел, а также создайте на нем порт вывода Position. Для определения координат эмиттера частиц мы уже назначили объект Null Object. Поэтому просто перетащим его в окно редактора XPresso, создав узел Null Object с портом вывода Global Position (Coordinates -> Global Position -> Global Position). Чтобы произвести операцию вычитания координат, создадим узел MathAdd, настроив его функцию Substract (вычитание). Соедините узлы, как показано на рис. 9.74. (Остальная часть узлов, которые мы создали ранее, находятся там же в окне редактора XPresso, но на рис. 9.74 не вошли.)
23. Для того чтобы рассчитать непосредственно эффект воздействия силового поля на траектории частиц, вылетающих из эмиттера, создайте узел Range Mapper (Calculate -> Range Mapper) и в окне менеджера атрибутов выберите тип данных Real (действительного типа) и поставьте флажок Use Spline (использовать сплайн) (рис. 9.75). Узел Range Mapper позволяет пересчитывать диапазоны значений. Так, если мы зададим в группе параметров Parameter исходный диапазон Input Lower (значение на входе - нижний предел) и Input Upper (значение на входе - верхний предел), то он будет преобразован в диапазон Output Lower (значение на выходе - нижний предел) и Output Upper (значение на выходе - верхний предел) (рис. 9.75).
24. Зададим значение параметров и форму сплайна, используя 4 точки (рис. 9.76). Сплайн будет задавать характер смены направления движения частицы при смене диапазона, когда параметр Input Upper достигает
своего предельного значения. Частица должна начать движение в обратном направлении при достижении X = 200 единиц. При этом параметр Y меняет знак на противоположный (рис. 9.76).
25. Создайте порт ввода Strength для узла PGravity и соедините узлы, как показано на рис. 9.77. Названия портов ввода для узла PGravity на узле не выведены (порт Strength - нижний).
26. Запустите анимацию и убедитесь, что частицы совершают следующее пульсирующее движение: вылетая из эмиттера на определенное расстояние, они возвращаются обратно, но и достигают эмиттера и движутся снова в направлении от него.
Пример
Требуется применить к частицам, созданным в предыдущем примере, один из деформаторов.
1. Имея загруженной сцену из предыдущего примера, вызовем деформатор по формуле (в главном меню Object -> Deformation -> Formula).
2. В окне менеджера объектов перетащите имя деформатора Formula на уровень подобъекта по отношению к объекту Particle Geometry (рис. 9.78).
3. Запустите анимацию и убедитесь, что все частицы деформировались (рис. 9.79).