![](/images/openglorg07/openglorg07-716.png)
Преобразуйте объект и подобъект в полигональный вид (меню Functions -> Make Editable).
Войдем в режим Object (Use Object Tool) и применим к родительскому объекту Cone инструмент Scale. Объект Cone деформируется, так как деформировались его оси (рис. 6.22).
![](/images/openglorg07/openglorg07-717.png)
Оси подобъекта Cube также отмасштабировались, так как он является подобъектом. Если теперь выделить Cube и применить к нему инструмент Rotate, то точки поверхности Cube будут перемещаться не по окружностям, а по эллипсам, то есть Cube будет искажен при вращении (рис. 6.23).
![](/images/openglorg07/openglorg07-718.png)
Чтобы этих искажений не происходило, надо при моделировании объектов изначально применять инструмент Use Model Tool, включающий режим Model.
При этом внешне все выглядит так же, как и при режиме Object (рис. 6.24) - при масштабировании родительского объекта деформируется также и дочерний объект. Отличие в том, что их оси не искажаются
- остается неизменным соотношение длин единичных векторов осей 1:1:1.
![](/images/openglorg07/openglorg07-719.png)
Если применить к подобъекту инструмент вращения, то вращение будет происходить без искажений пропорций подобъекта Cube (рис. 6.25).
![](/images/openglorg07/openglorg07-720.png)
Если действия в режиме Object уже выполнены, то, чтобы восстановить масштаб осей локальной системы координат, надо (при выделенном объекте Cone) выбрать в меню Functions -> Reset System и установить в диалоговом окне Reset System флажки, как показано на рис. 6.26.
![](/images/openglorg07/openglorg07-721.png)
To же повторить для подобъекта Cube.
6.1.18. Инструмент Texture
Создайте объект, например, примитив Cube. Что бы загрузить набор материалов, в окне менеджера материалов в меню выберите File -> Load Materials
В появившемся диалоговом окне выберите Basics. Выберите материал Ball 002 и, прижав его образец левой кнопкой мыши, перетащите из окна менеджера материалов на объект Cube в окне проекций. Вызовите инструмент Texture. На поверхности объекта появится двумерная координатная сетка синего цвета (рис. 6.27).
![](/images/openglorg07/openglorg07-722.png)
Выбрав инструмент Move, можно перемещать эту сетку - вслед за сеткой перемещается и рисунок текстуры на поверхности объекта (рис. 6.28).
![](/images/openglorg07/openglorg07-723.png)
Выбрав инструмент Scale, можно масштабировать наложенную на поверхность текстуру (рис. 6.29).
![](/images/openglorg07/openglorg07-724.png)
6.1.19. Инструмент Inverse Kinematics
Инструмент позволяет перемещать объекты, выстроенные в иерархическую цепочку, перемещая самый последний в цепочке объект. Создадим иерархическую цепочку объектов (рис. 6.30).
![](/images/openglorg07/openglorg07-725.png)
По умолчанию при перемещении родительского объекта за ним автоматически перемещаются все его подобъекты, расположенные на нижних уровнях иерархии. То есть если выделить Cube и применить инструмент Move, то вслед за кубом будут перемещаться сфера, конус и цилиндр. Если выделить конус и применить к нему инструмент Move, то вслед за конусом будет перемещаться цилиндр, как подобъект. Такой порядок называется прямой кинематикой.
![](/images/openglorg07/openglorg07-726.png)
Часто при анимации персонажа легче строить движение, начиная не с родительского объекта, а именно с дочернего. Проще двигать к цели именно кисть руки, чем перемещать кость плеча, пытаясь в результате
w w 1-4
действия прямой кинематики попасть кистью в цель. В этом случае должна действовать обратная кинематика