Убедитесь, что контроллер Р.Х объекта Cylinder на два управляемых параметра работает (рис. 8.162).
![](/images/openglorg07/openglorg07-1046.png)
Рассмотрим пример. Создать следующую анимацию. Из цилиндра, как из ствола, вылетает шар. По мере продвижения шара увеличивается освещенность цилиндра снаружи (рис. 8.163).
![](/images/openglorg07/openglorg07-1047.png)
Создадим два примитива Sphere и Cylinder. Сферу разместим внутри цилиндра посередине его продольной оси так, чтобы сфера была не видна.
Расположим источник освещения Light произвольно сбоку снаружи цилиндра (рис. 8.164).
![](/images/openglorg07/openglorg07-1048.png)
Создайте контроллер для параметра Р.Х объекта Sphere, а параметр Brightness (яркость) источника освещения Light сделайте управляемым.
Создайте анимацию выхода шара из цилиндра по трем ключевым кадрам и просмотрите ее, убедившись, что освещенность действительно увеличивается по мере выхода шара из цилиндра.
Рассмотрим пример. Требуется создать анимацию из предыдущего примера, используя два источника освещения: один источник будет использоваться как основной свет и будет ярче, а второй источник будет использован как подсветка и будет темнее. Создайте контроллер для параметра Р.Х объекта Sphere (рис. 8.165).
![](/images/openglorg07/openglorg07-1049.png)
Расположение источников показано на рис. 8.166. Источнику освещения Light (он будет основным светом) задайте Animation -> Set Driver, а источнику освещения Light 1 - Animation -> Set Driver (Absolute).
![](/images/openglorg07/openglorg07-1050.png)
Создайте и просмотрите анимацию. Убедитесь, что яркость источников освещения различна и увеличивается по мере выхода сферы из цилиндра.
Рассмотрим пример. Создать анимацию рук для фигуры Zygote Man.
В окне менеджера объектов приведена иерархическая структура элементов объекта Zygote Man. Пусть ведущей (контроллер) будет левая рука, а ведомой (управляемой) - правая рука.
Откроем последовательно папки, чтобы получить вид, как на рис. 8.167. Выделим папку L_Arm (левая рука) и в окне менеджера атрибутов для параметра R.B (вращение в плоскости YX) создадим контроллер.
Там же выделим правую руку R_Arm и для параметра R.B назначим Относительный драйвер (рис. 8.168).
Создайте анимацию на основе двух-трех ключевых кадров (рис. 8.169) и запустите ее на просмотр.
Обратите внимание, что назначение контроллера для одной из рук дает инверсное (не зеркальное) перемещение для второй руки. Так, положительные
![](/images/openglorg07/openglorg07-1051.png)
значения параметра R.B вызывают перемещения левой (ведущей) руки вниз, в то время как для правой руки положительные значения параметра R.B вызывают ее перемещение вверх и обратно. То есть руки вращаются в одном направлении.
Чтобы заставить руки перемещаться зеркально, откроем новую сцену, создадим персонаж Zygote Man,
![](/images/openglorg07/openglorg07-1052.png)
![](/images/openglorg07/openglorg07-1053.png)
откроем окно редактора XPresso и составим выражение, приведенное на рис. 8.170.
Узел Negate меняет знак параметра Rotation B для левой руки на противоположный. Запишем анимацию на основе, например, следующих кадров (рис. 8.171).
![](/images/openglorg07/openglorg07-1054.png)
Глава 9 Модули Thinking Particles и PyroCluster
9.1. Работа с модулем Thinking Particles
9.1.1. Основные объекты модуля Thinking Particles
Модуль Thinking Particles позволяет создавать разного рода системы частиц, моделирующие и анимирующие скопления объектов, например, косяки рыб, стаи птиц, звезды.