Созданный таким образом узел можно переназначить перетащив из окна менеджера объектов имя нового объекта в поле Reference окна менеджера атрибутов (рис. 8.47), или перетащить имя непосредственно на узел Object в окне редактора XPresso.

Узел Point

Узел позволяет получить доступ к управляющим точкам поверхности объекта. Точки располагаются в вершинах полигонов (рис. 8.48) и с помощью них можно производить, например, деформации объекта.

На рис 8.49 приведено выражение XPresso, позволяющее узнать, сколько управляющих точек предусмотрено на левой ноге модели человека Zygote Man. Для этого порт ввода Object узла Point соединен с портом вывода Object узла L_Leg. В качестве порта вывода узла Point выбран порт Point Count. Так как тип данных на этом порту Integer (целочисленный), то для вывода результата можно воспользоваться узлом Result.

Узел Polygon

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

Рассмотрим пример. Создадим объект - примитив Cube. Разобьем его на сегменты по 3 на каждую ось (рис. 8.50). Таким образом, поверхность Cube будет разбита на 54 сегмента.

Переведем Cube в редактируемое состояние. Вызовем окно редактора XPresso, разместим в нем узлы, создадим соответственные порты ввода/вывода и соединим их друг с другом, как показано на рис. 8.51.

В окне менеджера атрибутов узла Constant (активизируется щелчком левой кнопкой мыши по заголовку узла) задается номер полигона, координата центра

которого нас интересует. Зададим полигон номер 8. Значение координаты выводится в узле Result, подученного к порту вывода Polygon Center. Общее количество полигонов выводится на порт вывода Polygon Count.

Узел Random

Узел предназначен для генерации псевдослучайных (режим Time) и случайных (режим Free) значений различных типов данных, которые назначаются из контекстного меню для портов вывода (рис. 8.52).

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

В режиме генерации псевдослучайных значений (Time) всякий раз получаются одни и те же последовательности чисел, привязанные к одним и тем же номерам кадров анимации. Рассмотрим пример. Постройте выражение как на рис. 8.53. Настройте узлы Random и Result на тип данных Real (действительный) и в окне менеджера атрибутов выставьте режим генерации Time. Перетаскивайте движок шкалы анимации, прижимая его левой кнопкой мыши, например, на кадры 0, 50 и 90 (переместив движок, отпустите кнопку мыши). Обращайте внимание на значения, выводимые в узле Result, - они будут -0,256, 0,372 и 0,7 соответственно. Снова вернитесь на кадры 0, 50, 90 и убедитесь, что сгенерированы те же самые значения. Поэтому такой режим называется режимом генерации псевдослучайных чисел.

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

Узел Ray Collision


⇐ вернуться назад | | далее ⇒