Group{
#children用于设定所包含的所有子节点。通常包含Shape、Transform及下一层的Group编组节点。组节点数目无限制。
exposedFiled MFNode children [ ]
field SFVec3f bboxCenter 0.0 0.0 0.0
field SFVec3f bboxSize -1.0 -1.0 -1.0
eventIn MFNode addChildren
evenOut MFNode removeChildren
}
例子:
#VRML V2.0 utf8
Group{
children[
Transform {
rotation 1 0 0 1.571
children [
Shape { #表壳造型
appearance Appearance {
material Material {
diffuseColor 0.7 0.2 0.2
}
}
geometry Cylinder {
radius 2.2
height 0.5
}
}
]
}
Transform { #表轴造型
translation 0 0 0.3
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.3 0
}
}
geometry Sphere {
radius 0.1
}
}
Transform { #分针造型
translation 0 0.85 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.5 0.7
}
}
geometry Cylinder {
height 1.5
radius 0.05
}
}
]
}
Transform { #时针造型
translation 0.6 0 0
rotation 0 0 -1 1.57
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.5 0.7
}
}
geometry Cylinder {
height 1.0
radius 0.05
}
}
]
}
]
}
]
}
节点定义及引用
节点的定义与引用格式:
#VRML V2.0 utf8
Transform {
rotation 1 0 0 1.571
children [
Shape { #表壳造型
appearance Appearance {
material Material {
diffuseColor 0.7 0.2 0.2
}
}
geometry Cylinder {
radius 2.2
height 0.5
}
}
]
}
Transform { #表轴造型
translation 0 0 0.3
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.3 0
ambientIntensity 0.4
specularColor 0.7 0.7 0.6
shininess 0.2
}
}
geometry Sphere {
radius 0.1
}
}
Transform { #分针造型
translation 0 0.85 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.5 0.7
ambientIntensity 0.4
specularColor 0.8 0.8 0.9
shininess 0.2
}
}
geometry Cylinder {
height 1.5
radius 0.05
}
}
]
}
Transform { #时针造型
translation 0.6 0 0
rotation 0 0 -1 1.57
children [
Shape {
appearance Appearance {
material DEF A1 Material {
diffuseColor 0.5 0.5 0.7
ambientIntensity 0.4
specularColor 0.8 0.8 0.9
shininess 0.2
}
}
geometry Cylinder {
height 1.0
radius 0.05
}
}
]
}
DEF bkd1 Transform { #表盘刻度造型
translation 0 1.8 0
children [
Shape {
appearance Appearance {
material USE A1
}
geometry Box {
size 0.1 0.2 0.1
}
}
]
}
Transform {
rotation 0 0 1 0.524
children [
DEF bkd Transform {
translation 0 1.8 0
children [
Shape {
appearance Appearance {
material USE A1
}
geometry Box {
size 0.05 0.2 0.1
}
}
]
}
Transform {
rotation 0 0 1 0.524
children [
USE bkd
Transform {
rotation 0 0 1 0.524
children [
USE bkd1
Transform {
rotation 0 0 1 0.524
children [
USE bkd
Transform {
rotation 0 0 1 0.524
children [
USE bkd
Transform {
rotation 0 0 1 0.524
children [
USE bkd1
Transform {
rotation 0 0 1 0.524
children [
USE bkd
Transform {
rotation 0 0 1 0.524
children [
USE bkd
Transform {
rotation 0 0 1 0.524
children [
USE bkd1
Transform {
rotation 0 0 1 0.524
children [
USE bkd
Transform {
rotation 0 0 1 0.524
children [
USE bkd
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
内联节点
Inline{
exposedField MFString url “”
exposedField SFVec3f bboxCenter 0 0 0
exposedField SFVec3f bboxSize -1 -1 -1
}
#VRML V2.0 utf8
Transform{
translation -6 0 0
children[
Inline { #内联简单的钟表造型
url "2-2.wrl"
}
]
}
Inline{ #内联正方体造型造型
url "2-6.wrl"
}
Transform{
translation 6 0 0
children[
Inline { #内联复杂的钟表造型
url "3-7.wrl"
}
]
}
锚链接节点
Anchor{
exposedField MFstring url “”
exposedField MFNode children []
#description域的域值用于设定一个文本提示,当移动光标到锚点对象而不单击它时,浏览器显示该提示文本。
exposedField MFstring description “”
#parameter域的域值用于设定浏览器附加的信息,为一个形如“关键词=值”的字符串。
exposedField MFstring parameter []
field SFVec3f bboxCenter 0 0 0
field SFVec3f bboxSize -1 -1 -1
eventIn MFNode addChildren
evenOut MFNode removeChildren
}
#VRML V2.0 utf8
Anchor{ #锚链接节点
children[
Shape { #文本锚点造型
appearance Appearance{
material Material{}
}
geometry Text{
string ["Red Clock"]
fontStyle FontStyle{
size 2
style "BOLDITALIC"
justify["MIDDLE" "MIDDLE"]
}
}
}
]
description "Call Red Clock"
url "3-6.wrl" #链接子场景钟表造型
}
内联节点与锚链接节点的区别: