1. Узел Shape (Форма)
Простые объекты добавляются к сцене с помощью узла Shape.
Синтаксис узла:
Shape {
exposedField SFNode appearance NULL
# представление геометрической формы опаределяет узел appearance
exposedField SFNode geometry NULL
# саму геометрическую форму определяет одиночный узел с именем geometry
}
Пример (файл 1-0.wrl): создаётся куб с размерами и цветом/прозрачностью по умолчанию:
#VRML V2.0 utf8
Shape {
appearance Appearance {
material Material {
}
}
geometry Box {
}
}
В узле Shape необходимо использовать узлы appearance и geometry, которые описывают соответственно представление и форму объекта (см. далее).
2. В качестве значения поля geometry можно использовать один из следующих узлов, описывающих базовые примитивы языка VRML (куб, цилиндр, конус, сфера, текст).
Все примитивы изначально располагаются в координатах (0,0,0).
2.1. Box (Куб )
Синтаксис узла:
Box {
field SFVec3f size 2 2 2
}
Пример (файл 1-1.wrl): создаётся параллелепипед 5.5х3.75х1.0 метров.
#VRML V2.0 utf8
Shape {
appearance Appearance {
material Material {
}
}
geometry Box {
size 5.5 3.75 1.0
}
}
2.2. Cylinder (Цилиндр)
Синтаксис узла:
Cylinder {
field SFBool bottom TRUE
field SFFloat height 2
field SFFloat radius 1
field SFBool side TRUE
field SFBool top TRUE
}
По умолчанию расположен в 0-координатах и имеет значения от +1 до –1 во всех измерениях.
Для определения радиуса и высоты цилиндра служат параметры radius и height соответственно. В этом узле существует ещё 3 параметра: side, top, и bottom, имеющие значения TRUE или FALSE (по умолчанию TRUE), которые сообщают браузеру, выводить ли соответственно верх, низ или сторону цилиндра (например, если у нас нижняя часть цилиндра перекрывается другим объектом, для облегчения работы (увеличения скорости работы) браузера можно выставить параметр bottom как FALSE).
Пример (файл 1-2.wrl): создаётся ”ведро” с радиусом основания 2.5 м и высотой 10м.
#VRML V2.0 utf8
Shape {
appearance Appearance {
material Material {
}
}
geometry Cylinder {
radius 2.5 #радиус (по умолчанию 1)
height 10 #высота (по умолчанию 2)
top FALSE #цилиндр без верхней части
}
}
2.3. Cone (Конус)
Синтаксис узла:
Cone {
field SFBool bottom TRUE
field SFFloat bottomRadius 1
field SFFloat height 2
field SFBool side TRUE
}
По умолчанию конус будет на 1 метр выше и ниже оси Y, и радиусом основания 1 метр.
Пример (файл 1-3.wrl): создаётся ”колпак” с радиусом