VRML节点集包括基本几何节点、复杂群节点、VRML场景效果节点、动画节点及动态感知节点等。排序后的VRML节点集如下。
1.Anchor锚节点,是超级链接群节点,具有超级链接网络文件和站点功能。
Anchor锚节点的语法定义如下:
节点名 域名和域值 域值类型
Anchor{
ur1 [] #exposeField MFString
children [] #esposeField MFNode
description “” #exposeField SFString
parameter [] #exposeFiled MFString
bboxCenter 0 0 0 #filed SFVec3f
bboxSize -1 -1 –1 #filed SFVec3f
addChildren #eventIn MFNode
removeChildren #eventIn MFNode
}
2.Appearance外观属性节点,作为Shape节点的指定材质和纹理,这一节点是通过对它的域的控制来实现的。
Appearance节点的语法定义如下:
Appearance{
material NULL #exposedField SFNode外观的材料节点
texture NULL #exposedField SFNode纹理映像
textureTransform NULL #exposedField SFNode纹理坐标变换
}
3.AudioClip音响剪辑节点,不能单独使用,要和Sound声音节点一起使用。
AudioClip音响剪辑节点的语法定义如下:
AudioClip{
url[] #exposedField MFString
description [] #exposedField SFString
loop FALSE #exposedField SFBool
pitch 1.0 #exposedField SFFloat
startTime 0.0 #exposedField SFTime
stopTime 0.0 #exposedField SFTime
duration_changed #eventOut SFTime
isActive #eventOut SFBool
}
4.Background背景节点,是天空、大地及室内立体空间背景节点。
Background背景节点的语法定义如下:
Background{
skyColor [0.0 0.0 0.0] #exposedField MFColor
skyAngle [ ] #exposedField MFFloat
groundColor [0.0 0.0 0.0] #exposedField MFColor
groundAngle [ ] #exposedField MFFloat
frontUrl [ ] #exposedField MFString
backUrl [ ] #exposedField MFString
leftUrl [ ] #exposedField MFString
rightUrl [ ] #exposedField MFString
topUrl [ ] #exposedField MFString
bottomUrl [ ] #exposedField MFString
set_bind #eventIn SFBool
isBound #eventOut SFBool
}
5.Billboard广告牌节点,是广告牌群节点。
Billboard广告牌节点的语法定义如下:
Billboard {
axisOfRotation 0 1 0 # exposedField SFVec3f
children [] # exposedField MFNode
bboxCenter 0 0 0 #field SFVec3f
bboxSize -1 –1 -1 #field SFVec3f
addChildren #eventIn MFNode
removeChildren # eventIn MFNode
}
6.Box 盒子节点,是基本几何模型节点。
Box盒子节点的语法定义如下:
Box{
size 2.0 2.0 2.0 #field SFVec3f
#定义了一个立方体的宽、高、深
}
7.Collision碰撞节点,是碰撞传感器节点。
Collision碰撞传感器节点的语法定义如下:
Collision {
children [ ] #exposedField MFNode
collide TRUE #exposedField SFBool
proxy NULL #field SFNode
bboxCenter 0.0 0.0 0.0 #field SFVec3f
bboxSize -1.0 –1.0 –1.0 #field SFVec3f
collideTime #eventOut SFTime
addChildren #eventIn MFNode
removeChildren #eventIn MFNode
}
8.Color颜色节点。
Color颜色节点的语法定义如下:
Color {
color [] #exposedField MFColor
}
9.ColorInterpolator颜色插补器节点,是控制颜色变换的动态节点。
ColorInterpolator颜色插补器节点的语法定义如下:
ColorInterpolator{
key [] #exposedField MFFloat
keyValue [] #exposedField MFColor
set_fraction #eventIn SFFloat
value_changed #eventOut SFColor
}
10.Cone圆锥体节点,是基本几何模型节点。
Cone圆锥体节点的语法定义如下:
Cone{
bottomRadius 1.0 #field SFFloat
height 2.0 #field SFFloat
side TRUE #field SFBool
bottom TRUE #field SFBool
}
11.CoordinateInterpolator坐标插补器节点,是控制坐标变换的动态节点。
CoordinateInterpolator坐标插补器节点的语法定义如下:
CoordinateInterpolator{
key [] #exposedField MFFloat
keyValue [] #exposedField MFVec3f
set-fraction #eventIn SFFloat
value-changed #eventOut MFVec3f
}
12.CylinderSensor圆柱检测器节点,是单轴旋转型传感器节点。
CylinderSensor圆柱检测器节点的语法定义如下:
CylinderSensor {
enabled TRUE #exposedField SFBool
autoOffset TRUE #exposedField SFBool
offset 0 #exposedField SFFloat
maxAngle -1 #exposedField SFFloat
minAngle 0 #exposedField SFFloat
diskAngle 0.262 #exposedField SFFloat
isActive #eventOut SFBool
trackPoint_changed #eventOut SFVec3f
rotation_changed #eventOut SFRotation
}
13.Cylinder圆柱体节点,是基本几何模型节点。
Cylinder圆柱体节点的语法定义如下:
Cylinder{
radius 1.0 #field SFFloat圆柱体的半径
height 2.0 #field SFFloat圆柱体的高
top TRUE #field SFBool圆柱体的顶部
bottom TRUE #field SFBool圆柱体的底部
side TRUE #field SFBool圆柱体的曲面
}
14.DirectionalLight定向光源节点,是VRML场景效果节点。
DirectionalLight定向光源节点的语法定义如下:
DirectionalLight {
ambientIntensity 0.0 #exposedField SFFloat
direction 0 0 -1 #exposedField SFVec3f
color 1.0 1.0 1.0 #exposedField SFColor
intensity 1.0 #exposedField SFFloat
on TRUE #exposedField SFBool
}
15.ElvationGrid海拔栅格节点,是创建复杂立体空间造型的节点。
ElevationGrid海拔栅格节点的语法定义如下:
ElevationGrid{
xDimension 0 #field SFInt32
xSpacing 0.0 #field SFFlost
zDimension 0 #field SFInt32
zSpacing 0.0 #field SFFloat
height[] #field MFFloat
color NULL #exposedField SFNode
ColorPerVertex TRUE #field SFBool
normal NULL #exposedField SFNode
normalPerVertex TRUE #field SFBool
texCoord NULL #exposedField SFNode
ccw TRUE #field SFBool
solid TRUE #field SFBool
creaseAngle 0.0 #field SFFloat
set_height #eventIn MFFloat
}
16.EXTERNPROTO创建用户外部定义的新节点。
EXTERNPROTO创建用户外部定义的新节点的语法定义如下:
关键字 外部新节点名
EXTERNPROTO nodename[
#And any number of: 以下域或事件由用户定义任意多个
域或事件 域值类型 域或事件名
field fieldTypeName fieldName
exposedField fieldTypeName fieldName
eventIn eventInTypeName eventInName
eventOut eventOutTypeName eventOutName
]“VRML外部文件名 #某新节点名”或url or [urlList]
17.Extrusion挤出造型节点,是VRML中最重要、最有用的节点。
Extrusion挤出造型节点的语法定义如下:
Extrusion{
crossSection[ #field MFVec2f
1.0 1.0, 1.0 -1.0
-1.0 -1.0,-1.0 1.0
1.0 1.0
]
spine[ #field MFVec3f
0.0 0.0 0.0,
0.0 1.0 .0.0
]
scale 1.0 1.0 #field MFVec2f
orientation 0.0 0.0 1.0 0.0 #field MFRotation
beginCap TRUE #field SFBool
endCap TRUE #field SFBool
ccw TRUE #field SFBool
solid TRUE #field SFBool
convex TRUE #field SFBool
creaseAngle 0.0 #field SFFloat
set_spine #eventIn MFVec3f
set_crossSection #eventIn MFVec2f
set_scale #eventIn MFVec2f
set_orientation #eventIn MFRotation
}
18.Fog雾节点,用于空间大气场景的一种自然现象的描绘。
Fog雾化节点的语法定义如下:
Fog {
color 1.0 1.0 1.0 #exposedFiled SFColor
fogType “LINEAR” #exposedFiled SFFloat
visibilityRange 0.0 #exposedFiled SFString
set_bind # eventIn SFBool
isBound # eventOut SFBool
}
19.FontStyle 节点,用于字体风格设置的描述
FontStyle字体风格设置的语法定义如下:
FontStyle{
family "SERIF" #field SFString
size 1.0 #field SFFloat
spacing 1.0 #field SFFloat
style "PLAIN" #field SFString
justify "BEGIN"l horizontal TRUE #field SFString
leftToRight TRUE #field SFBool
topToBottom TRUE #field SFBool
language "" #field SFString
}
20.Group编组节点,是基本型群节点,可以组合基本几何造型和复杂造型。
Group编组节点的语法定义如下:
Group{
children [] #exposedField MFNode
bboxCenter 0.0.0.0.0.0 #field SFVec3f
bboxSize -1.0-1.0-1.0 #field SFVec3f
addChildren #eventIn MFNode
removeChildren #eventOut MFNode
}
21.ImageTexture图像纹理节点,是VRML立体空间造型外观效果节点。
ImageTexture图像纹理节点的语法定义如下:
节点名 名和域值 域值类型
ImageTexture {
url [] #exposeField MFString
repeatS TRUE #field SFBool
repeaT TRUE #field SFBool
}
22.IndexedLineSet线节点,是VRML复杂造型节点。
IndexedLineSet线节点的语法定义如下:
IndexedLineSet{
coord NULL #exposedField SFNode
coordIndex [ ] #field MFInt32
color NULL #exposedField SFNode
colorIndex [ ] #field MFInt32
colorPerVertex TURE #field SFBool
set_coordIndex #eventIn MFInt32
set_colorIndex #eventIn MFInt32
}
23.IndexFaceSet面节点,属于复杂造型节点范畴。
IndexedFaceSet面节点的语法定义如下:
IndexedFaceSet{
coord NULL #exposedField SFNode
coordIndex[] #field MFInt32
texCoord NULL #exposedField SFNode
texCoordIndex [] #field MFInt32
color NULL #exposedField SFNode
colorIndex [] #field MFInt32
colorPerVertex TRUE #field SFBool
normal NULL #exposedField SFNode
normalIndex [] #field MFInt32
normalPerVertex TRUE #field SFBool
ccw TRUE #field SFBool
convex TRUE #field SFBool
solid TRUE #field SFBool
creaseAngle 0.0 #field SFFloat
set_coordIndex #eventIn MFInt32
set_texCoordIndex #eventIn MFInt32
set_colorIndex #eventIn MFInt32
set_normalIndex #eventIn MFInt32
}
24.Inline内联节点,是引入型群节点。
Inline内联节点的语法定义如下:
Inline { url [] #exposedField MFString
bboxCenter 0 0 0 #field SFVec3f
bboxSize -1 –1 –1 # field SFVec3f
}
25.IS语法建立了一种从接口到节点体的一个连接。
IS语句的格式如下:
fieldname IS interfaceItem
26.LOD细节层次节点,是分级型群节点。
LOD细节层次节点的语法定义如下:
LOD{ level [] #exposedField MFNode
center 0 0 0 #field SFVec3f
range [] #field MFFloat
}
27.Material材料节点,作为Shape模型节点的子节点。
Material材料节点的语法定义如下:
Material{
diffuseColor 0.8 0.8 0.8 #exposedField SFColor材料的漫反射颜色
ambientIntensify 0.2 #exposedField SFColor有多少环境光被该表面反射
specularColor 0 0 0 #exposedField SFColor物体镜面反射光线的颜色
emissiveColor 0 0 0 #exposedField SFColor发光物体产生的光的颜色
shininess 0.2 #exposedField SFFloat造型外观材料的亮度
transparency 0 #exposedField SFFloat物体的透明度
}
28.MovieTexture影像文件节点,是VRML的场景效果节点。
MovieTexture影像文件节点的语法定义如下:
MovieTexture {
url [ ] #exposedField MFString
loop FALSE #exposedField SFBool
speed 1.0 #exposedField SFFloat
startTime 0 #exposedField SFTime
stopTime 0 #exposedField SFTime
repeatS TURE #field SFBool
repeatT TURE #field SFBool
duration_changed #eventOut SFTime
isActive #eventOut SFBool
}
29.NavigationInfo导航信息节点,是控制浏览者功能的节点。
NavigationInfo导航信息节点的语法定义如下:
节点名 域和域值 域值类型
NavigationInfo {
avatarSize [0.25,1.6,0.75] #exposedField MFFLoat
headlight TRUE #exposedField SFBlool
type [“WALK”,“ANY”] #exposedField MFString
speed 1.0 #exposedField SFFloat
visibilityLimit 0.0 #exposedField SFFloat
set_bind #eventIn SFBool
isBound #eventOut SFBool
}
30.Normal法向量节点。
Normal法向量节点的语法定义如下:
Normal {
vector [] #exposedField MFFloat
}
31.NormalInterpolator法线插补器节点,是控制向量变换的动态节点。
NormalInterpolator法线插补器节点的语法定义如下:
NormalInterpolator {
key [] #exposedField MFFloat
keyValue [] #exposedField MFVec3f
set-fraction #eventIn SFFloat
value-changed #eventOut MFVec3f
}
32.OrientationInterpolator朝向插补器节点,是控制方位变换的动态节点。
OrientationInterpolator朝向插补器节点的语法定义如下:
OrientationInterpolator {
key [] #exposedField MFFloat
keyValue [] #exposedField MFVec3f
set-fraction #eventIn SFFloat
value-changed #eventOut MFVec3f
}
33.PlaneSensor平面检测器节点,是平面移动型传感器节点。
PlaneSensor平面检测器节点的语法定义如下:
PlaneSensor {
enabled TRUE #exposedField SFBool
autoOffset TRUE #exposedField SFBool
offset 0 0 0 #exposedField SFVec3f
maxPosition -1 –1 #exposedField SFVec2f
minPosition 0 0 #exposedField SFVec2f
isActive #eventOut SFBool
trackPoint_changed #eventOut SFVec3f
translation_changed #eventOut SFVec3f
}
34.PointLight点光源节点,是VRML场景效果节点。
PointLight 点光源节点的语法定义如下:
PointLight {
location 0.0.0.0.0.0 #exposedField SFVec3f
radius 100.0 #exposedField SFFloat
intensity 1.0 #exposedField SFFloat
ambientIntensity 0.0 #exposedField SFFloat
color 1.0 1.0 1.0 #exposedField SFColor
attenuation 1.0 0.0 0.0 #exposedField SFVec3f
on TRUE #exposedField SFBool
}
35.PointSet点节点,是复杂造型节点。
PointSet点节点的语法定义如下:
点节点名 域名 域值 域值类型
PointSet {
color NULL #exposedField SFNode
coord NULL #exposedField SFNode
}
36.PositionInterpolator位置插补器节点,是控制位置变换的动态节点。
PositionInterpolator位置插补器节点的语法定义如下:
PositionInterpolator {
key[] #exposedField MFFloat
keyValue[] #exposedField MFVec3f
set-fraction #eventIn SFFloat
value-changed #eventOut SFVec3f
}
37.PROTO创建用户新节点,用户根据软件开发的需要设计自己的新节点。
PROTO创建用户新节点的语法定义如下:
关键字 新节点名
PROTO nodename[
#And any number of: 以下域或事件由用户定义任意多个
域或事件 域值类型 或事件名 域的初值
field fieldTypeName fieldName initialValue
exposedField fieldTypeName fieldName initialValue
eventIn eventInTypeName eventInName
eventOut eventOutTypeName eventOutName
]
{ #新节点体
nodeBody #单个节点或组节点
}
38.ProximitySensor节点,是亲近度传感器节点。
ProximitySensor节点的语法定义如下:
ProximitySensor {
center 0 0 0 #exposedField SFVec3f
size 0 0 0 #exposedField SFVec3f
enabled TRUE #exposedField SFBool
isActive #eventOut SFBool
position_changed #eventOut SFVec3f
orientation_changed #eventOut SFRotation
enterTime #eventOut SFTime
exitTime #eventOut SFTime
}
39.ScalarInterpolator标量插补器节点,是控制变换强度的动态节点。
ScalarInterpolator标量插补器节点的语法定义如下:
ScalarInterpolator{
key [] #exposedField MFFloat
keyValue[] #exposedField MFFloat
set-fraction #eventIn SFFloat
value-changed #eventOut SFFloat
}
40.Script脚本节点,是程序化的节点,也是VRML的接口程序。
Script脚本节点的语法定义如下:
节点名 域名 域值 域值类型
Script{
url [] #exposedField MFString
directOutput FALSE #field SFBool
mustEvaluate FALSE #field SFBool
#And any number of: 以下域或事件由用户定义任意多个
域或事件 域或事件的类型名 域或事件名 域的初值
field fieldTypeName fieldName initialValue
eventIn eventTypeName eventName
eventOut eventTypeName eventName
}
41.Shape模型节点,用于创建基本几何模型和复杂模型。
Shape模型节点的语法定义如下:
Shape{
appearance NULL #exposedField SFNode 外观节点
geometry NULL #exposedField SFNode 几何节点
}
42.Sound声音节点,是声音发射器节点。
Sound声音节点的语法定义如下:
Sound{
direction 0.0 0.0 1.0 #exposedField SFVec3f
intensity 1.0 #exposedField SFFloat
location 0.0 0.0 0.0 #exposedField SFVec3f
maxBack 10.0 #exposedField SFFloat
maxFront 10.0 #exposedField SFFloat
minBack 1.0 #exposedField SFFloat
minFront 1.0 #exposedField SFFloat
priority 0.0 #exposedField SFFloat
source NULL #exposedField SFNode
spatialize TRUE #exposedField SFBool
}
43.SphereSensor球面检测器节点,是任意轴旋转型传感器节点。
SphereSensor球面检测器节点的语法定义如下:
SphereSensor {
enabled TRUE #exposedField SFBool
autoOffset TRUE #exposedField SFBool
offset 0 1 0 0 #exposedField SFRotation
isActive #eventOut SFBool
trackPoint_changed #eventOut SFVec3f
rotation_changed #eventOut SFRotation
}
44.Sphere球面体节点,是几何模型节点。
Sphere球面体节点的语法定义如下:
Sphere{
radius 1.0 #field SFFloat三维球体的半径,默认值为1.0
}
45.SpotLight聚光灯节点,是聚光性光源节点。
SpotLight 聚光灯节点的语法定义如下:
SpotLight {
location 0.0 0.0 0.0 #expodField SFVec3f
radius 100 #expodField SFFloat
intensity 1.0 #expodField SFFloat
ambientIntensity 0.0 #expodField SFFloat
beamWidth 1.570796 #expodField SFFloat
cutOffAngle 0.785398 #expodField SFFloat
attenuation 1.0 0.0 0.0 #expodField SFVec3f
color 1.0 1.0 1.0 #expodField SFColor
direction 0 0-1 #expodField SFVec3f
on TRUE #expodField SFBool
}
46.Switch开关节点,是选择型群节点。
Switch开关节点的语法定义如下:
Switch {
choice [] #exposedField MFNode
whichChoice -1 # exposedField SFInt32
}
47.TextureTransform纹理变换节点,是VRML纹理效果节点。
TextureTransform纹理变换节点的语法定义如下:
TextureTransform {
translation 0.0 0.0 #exposedField SFVec2f
center 0.0 0.0 #exposedField SFVec2f
rotation 0.0 #exposedField SFFloat
scale 1.0 1.0 #exposedField SFVec2f
}
48.TimeSensor时间检测器节点,是控制时间的检测器节点。
TimeSensor时间传感器节点的语法定义如下:
TimeSensor{
cycleInterval 1.0 #exposedField SFTime
enabled TRUE #exposedField SFBool
startTime 0 #exposedField SFTime
stopTime 0 #exposedField SFTime
loop FALSE #exposedField SFBool
isActive #eventOut SFBool
time #eventOut SFTime
cycleTime #eventOut SFTime
fraction_changed #eventOut SFFloat
}
49.TouchSensor触摸传感器节点。
TouchSensor触摸传感器节点的语法定义如下:
TouchSensor{
enabled TRUE #exposedField SFBoo1
isOver #eventOut SFBool
hitPoint_changed #eventOut SFVec3f
hitNormal_changed #eventOut SFVec3f
hitTexCoord_changed #eventOut SFVec2f
isActive #eventOut SFBoo1
touchTime #eventOut SFTime
}
50.Transform坐标变换节点,是转换型群节点。
Transform 坐标变换节点的语法定义如下:
Transform{
children [] #exposedField MFNode
translation 0.0 0.0 0.0 #exposedField SFVec3f
rotation 0.0 0.0 1.0 0.0 #exposedField SFRotation
scale 1.0 1.0 1.0 #exposedField SFVec3f
scaleOrientation 0.0 0.0 1.0 0.0 #exposedField SFRoration
bboxCenter 0.0 0.0 0.0 #field SFVec3f
bboxSize -1.0 -1.0 -1.0 #field SFVec3f
center 0.0 0.0 0.0 #exposedField SFVec3f
addChildren #eventIn MFNode
removeChildren #eventIn MFNode
}
51.Text文本造型节点,是文字描述节点。
Text文本造型节点的语法定义如下:
Text{
string[] #exposedField MFString
length[] #exposedField MFFloat
maxExtent 0.0 #exposedField SFFloat
fontStyle NULL #exposedField SFNode
}
52.ViewPoint视点节点,是决定观察角度的节点。
Viewpoint视点节点的语法定义如下:
Viewpoint{
position 0.0 0.0 1.0 #exposedField SFVec3f
orientation 0.0 0.0 1.0 0.0 #exposedField SFRotation
fieldOfView 0.785398 #exposedField SFFloat
jump TRUE #exposedField SFBool
description “” #field SFString
set_bind #evevntIn SFBool
isBound # eventOut SFBool
bindTime #eventOut SFTime
}
53.VisibilitySensor节点,是能见度传感器节点。
VisibilitySensor节点的语法定义如下:
VisibilitySensor{
enabled TRUE #exposedField SFBool
center 0.0 0.0 0.0 #exposedField SFVec3f
size 0.0 0.0 0.0 #exposedField SFVec3f
isActive #eventOut SFBool
enterTime #eventOut SFTime
exitTime #eventOut SFTime
}
54.WorldInfo场景信息节点,是信息化的节点。
WorldInfo场景信息节点的语法定义如下:
WorldInfo{
title [ ] #field SFString
info [ ] #field MFString
}