Шаг 12 - Параллелепипеды и конусы, узлы Box и Cone

Узел Box

С узлом задающим параллелепипед мы уже знакомы. Да, это узел Box. Его определение выглядит следующим образом:

Box { 
	field SFVec3f size 2 2 2
}

Этот узел является, пожалуй, самым простым из всех. Он задает прямоугольный параллелепипед в локальной системе координат с центром в точке (0,0,0) и ориентированным в соответствии с ее осями. По умолчанию узел Box задает куб размером по 2 метра вдоль каждой оси:

12_1.gif (2545 b)

Изменять размер параллелепипеда можно с помощью параметра size. Параллелепипед создаваемый узлом Box является односторонним, т.е. его грани видны только снаружи. Если камера будет смотреть на него изнутри, то его грани не будут отображаться.

Узел Cone

Узел Cone позволяет создать конус, центр которого располагается в точке (0,0,0), а центральная ось вдоль оси Y.

Cone { 
	field SFFloat bottomRadius 1
	field SFFloat height       2
	field SFBool  side         TRUE
	field SFBool  bottom       TRUE
}

Центр конуса располагается в точке на его оси, которая поднята на половину высоты над основанием:

12_2.gif (5985 b)

Параметр bottomRadius задает радиус основания конуса, по умолчанию он равен 1 метру. Высоту конуса задает параметр height, его значение по умолчанию равно 2 метрам.

Параметров side и bottom управляют процессом отображения сторон конуса. Если параметр side равен FALSE, то боковая поверхность конуса не отображается. Точно также для bottom, если этот параметр равен FALSE, то не изображается основание конуса. Если какая-то из сторон "отключена", то она больше не участвует в тестах на пересечение, т.е. определении коллизий и активации сенсоров.

Конус так же, как и параллелепипед является односторонней фигурой, т.е. его стенки изнутри не видны.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Кузин Андрей - 17.08.2001