VRML使用说明
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
Shape——实物结点:几何造型和文字结点(成员结点)
{
appearance Appearance(外观域结点)
{material Material——材质
{
diffuseColor 0.8 0.8 0.8(漫反光色,默认值0.8 0.8 0.8)
specularColor0.0 .0.0 0.0(材质的镜面反射光色)
}
}
geometry Box
{
size 2.0 4.0 2.0
}
}
]
},(注:成员结点之间用逗号隔开)
Transform
{
translation-2.0 3.0 0.0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0.0 1.0 0.0
shininess 0.2(材料表面亮度)
ambientIntensity 0.2(材料表面的对比度)
emissiveColor 0.0 0.0 0.0(材料的发射光色)
transparency 0.0(材料的透明度0.0不透明,1.0完体透明)
几种常用材料主要材质参数
材料
diffuseColor
specularColor
set_bind
isBound
bindTime——出事件用于发出视点被切换的时间,可用来在一个给定的视点激活时开始运行一段动画或执行某个脚本程序。
},
Viewpoint
{position 10.0 0.0 5.0
orientation0.0 1.0 0.0 0.785
description"userVP2"
Child
[
Inline内联
{
url”对象文件名”
}
]
}
四、光照效果
1、点光源
其发射的光线好像是从空间中某个点向四周发散,其最大特点是没有方向性。
PointLight——通常不能规定一个有限的大小光照范围,所以常用Transform结点嵌套来限定一个光源光照范围
{
Location x y z——光源位置,默认值为坐标原点
}
3、锥光照效果结点
从一个点发出,朝着一个方向。
SpotLight
{
Location x y z
Direction x1 y1 z1
Color r g b
cutOffAngle hal——光锥角,中心轴与光锥母线之间的夹角,范围0.0-1.570,默认为0.785(45度)
beamWidth a2——散射角,散射光锥的锥顶角,范围0.0-3.142(0-180度),默认为1.570,一般情况下此光锥要小于锥光光锥(一般来说锥光光源在散射光锥之内的光照强度是相同的,而在散射光锥和锥光光锥之间强度将逐渐减弱直到锥光光锥的边缘上变为零)
{
string "hello world!"
fontStyle FontStyle
{
size 2
family”SERIF”(文本字体,SANS、TYPEWRITER)
style”PLAIN”(文本字型,默认为PLANIN普通,BOLD加粗、ITALIC倾斜、BLODITALIC粗斜)
horizontal TRUE(文本方向,TURE水平,FALUS垂直Y方向)
{
skyAngle[1.308,1.570]——天空角(从X负向到Y正向到X正向)[天空角1,天空角2….]Y轴正向为0,X正向为90度即水平面
skyColor [0.5 0.1 0.9,0.0 0.5 1.0,1.0 0.5 6.0]——天空色[天空色0,….]
groundAngle[1.308,1.570]——地面角(从X负向到Y负向到X正向)从Y负向开始
orientation1.0 0.0 0.0-0.262(指定了浏览者的视线,x,y,z,a(旋转角度/弧度以确定浏览者的视线方向),默认值(0.0,1.0,0.0,0.0)以Y轴正向为旋转;(0.0,-1.0,0.0,1.570)以Y轴负向按右手螺旋法视线旋转90度;(-1.0,0.0,0.0,1.570)以X轴负向按右手螺旋法视线旋转90度。)
intensityb
ambientIntensity c
radius r
on tf
}
五、声音结点
VRML能使用的音频文件的类型是MIDI和WAV。
Sound
{
Location x y z——说明音源的位置
Direction x1 y1 z1——声音的发射方向
Intensity v——说明音量大小
Spatialize m——说明是否是立体声
Shininess
ambientIntensity
金
0.3 0.2 0.0
0.7 0.7 0.6
0.20
0.40
银
0.5 0.5 0.7
0.8 0.8 0.9
0.20
0.40
铜
0.4 0.2 0.0
0.8 0.4 0.0
0.10
0.28
铝
0.3 0.3 0.5
0.7 0.7 0.8
0.10
0.30
黄塑料
visibilityRange s——规定了游览者在雾中的最大可视距离,在此距离以内的物体是可见的,且由近及远,雾的浓度渐增,之外的不可见;默认为0.0表示无穷大.
set_bind——入事件,与isBound出事件用于进行VRML空间背景切换。Ture\false
isBound——出事件,切换时为FALSE
0.6
深蓝
}
}
ImageTexture(帖图域结点)
{
url”图像文件名“(注:要把所用图像放在VRML文件的保存位置)
}
Geometry{几何造型结点:BOX长方体(size x y z(2.0 2.0 2.0));Cylinder圆柱体(radius r(半径(1.0));height h(高度)(2.0));Cone圆锥体(bottomRadius r(1.0),height h(2.0));sphere球体(radius r(1.0))}Text(文本造型域)
set_bind
isBound
}
三、内联
1、内联是指在主控文件中调用对象文件,从面把对象文件创建的物体放到主控文件定义的基础环境中。
Inline结点来实现
内联结点通常嵌入到一个Transform结点
2、结构及用法
Transform
{
Translation…
Rotation_确定物体的方向
Scale_确定物体的大小比例
Color r g b——光线颜色
Intensity b——光源亮度,默认1.0最亮
ambientIntensity c——光照效果的场景对比度,0.0最弱;1.0最强;默认0.0
radius r——光源的光照范围半径(取值:0.0-65535.0,默认100)
on tf——光源是否打开,TURE,FALSE,默认是打开的TURE
颜色
0.0
0.0
0.0
黑色
0.2
0.2
0.2
深灰
0.6
0.6
0.6
淡灰
0.8
0.8
0.8
浅灰
1.0
1.0
1.0
白色
1.0
0.0
0.0
红色
0.0
1.0
0.0
绿色
0.0
0.0
1.0
蓝色
1.0
1.0
0.0
黄
0.0
1.0
1.0
蓝绿
1.0
0.0
1.0
绛红
0.6
0.0
0.0
暗红
0.0
0.6
0.0
墨绿
0.0
0.0
{
translation-2.0 0.0 0.0——规定了X、Y、Z方向的平移量当平移量为正时正向移反之相反,默认值(0.0 0.0 0.0),
rotation x y z z——规定了旋转方向和旋转量,以原点到(x y z)点的射线为旋转轴,用右手螺法则将坐标系旋转a弧度,当为负时倒转默认(0.0 0.0 1.0 0.0)即Z轴正向为轴。
jump FALSE
},
Viewpoint
{position 0.0 0.0 -15.0
orientation0.0 1.0 0.0 3.140
description"userVP3"
jump FALSE
}
]
}
NavigationInfo
{
avatarSize——[体宽,身高,步高]——默认为:0.25,1.6,0.75
}
2、平行光照效果结点
DirectionalLight
{
Direction x y z——光线的方向,确定了一个点光线的方向是原点以该点的方向,默认0.0 0.0 -1.0Z轴负向上的一个点,光线方向是朝着Z轴负向的。
Color r g b
Intensity b
ambientIntensity c
on tf
bottomUrl []示。
set_bind——入事件,与isBound出事件用于进行VRML空间背景切换。Ture\false
isBound——出事件,切换时为FALSE
}
}
Fog——大气效果结点
{
Color r g b——定义雾的颜色
fogType type——密度类型,有两种值:“LINEAR”,“EXPONENTIAL”,默认为前者,在此中雾的浓度与浏览者观察物体的距离成正比,称线性雾;在后者中雾的浓度与之距离的平方成正比,也称指数雾。
justify[“BEGIN”,”FIRST”](文本的对齐方式,水平时默认此值表示原点在文本左下面,[“MIDDLE”,“MIDDLE”]表示水平和垂直方向都按坐标系原点居中)
}
}
},
Transform——编组结点(Anchor:链接物结点;Billboard:朝向结点):坐标系变换结点相对于原点进行平移、旋转和扩缩坐标系。[注:此结点只对嵌套在其内的成员有效,对与之并列的结点不起作用]
visibilityLimit可视距离——浏览者的视力,即能看到的最远距离,默认为0.0
headlight——化身头灯,缺省为TRUE
type——化身者导航类型,共5种类型:
WALK(行走)、FLY、EXAMIN(观察)、ANY(任意)、NONE(不使用任何方式)
Speed——行驶速度,单位为VRML单位/秒
groundColor[0.1 0.0 0.0,0.4 0.3 0.2,0.6 0.6 0.6]——颜色由R(红)G(绿)B(蓝)三色合成,数值范围从0.0—1.0,0.0最弱,1.0最强。
frontUrl []
backUrl []
leftUrl []
rightUrl []此六个域用于为VRML虚拟空间分别添加前、后、左、右、上、下背景图像,以生成空topUrl []间立方体全景图像背景一般可不指定topUrl和bottomUrl从而使地面和天空透过全景显
description"userVP1"(说明视点名称)
jump FALSE(说明了视点跳转规则,当为TURE时,切换到视点的过程是立即跳转中没无过渡;当为FALSE时切换过程使用一段移动到该视点的动画来过渡)
fieldOfView——设置视点中视角的大小,以弧度为计量单位,大视角可产生类似广角镜头效果,用以将造型推远;小视角则产生类似远焦镜头效果,用以将造型拉近。取值范围0.0-3.142,缺省为0.785即45度。
scale kx ky kz——规定了X、Y、Z方向的扩缩系数,当小于1时表示缩小,大于1表示扩大。默认值(1.0 1.0 1.0)即不扩缩。
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0.0 1.0 0.0
}
}
geometry Cone
{
height 2.4
bottomRadius 2.4
}
}
]
},
Viewpoint——控制结点(NavigationInfo:浏览者信息结点,ViewPoint:视点设置结点;InLine:内联结点)
{
position 2.0 5.0 20.0(指定了浏览者的位置,X,Y,Z默认值0.0,0.0,10.0即为Z轴正向上的一个点)
0.8 0.8 0.2
0.8 0.8 0.8
0.15
0.10
绿塑料
0.2 0.8 0.2
0.8 0.8 0.8
0.15
0.10
蓝塑料
0.2 0.2 0.8
0.8 0.8 0.8
0.15
0.10
红塑料
0.8 0.2 0.2
0.8 0.8 0.8
0.15
0.10
常见颜色的RGB分量
Redຫໍສະໝຸດ Baidu
Green
Blue
VRML工具使用说明
一、浏览器使用说明
1.常用快捷键
Shift+鼠标前后托动:加速行走;
ALT+鼠标托动:平移;
CTRL+鼠标前后托动:抬头或低头
2.导航工具栏
二、VRML语法结构
#VRML V2.0 utf8——文件头
Group——主编组结点
{
Children——引出成员结点
[
Background——环境结点(FOG:大气效果;SOUND:声音结点;POINtlight\direction\spotlight:光照效果结点):空间背景(成员结点)
Shape——实物结点:几何造型和文字结点(成员结点)
{
appearance Appearance(外观域结点)
{material Material——材质
{
diffuseColor 0.8 0.8 0.8(漫反光色,默认值0.8 0.8 0.8)
specularColor0.0 .0.0 0.0(材质的镜面反射光色)
}
}
geometry Box
{
size 2.0 4.0 2.0
}
}
]
},(注:成员结点之间用逗号隔开)
Transform
{
translation-2.0 3.0 0.0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0.0 1.0 0.0
shininess 0.2(材料表面亮度)
ambientIntensity 0.2(材料表面的对比度)
emissiveColor 0.0 0.0 0.0(材料的发射光色)
transparency 0.0(材料的透明度0.0不透明,1.0完体透明)
几种常用材料主要材质参数
材料
diffuseColor
specularColor
set_bind
isBound
bindTime——出事件用于发出视点被切换的时间,可用来在一个给定的视点激活时开始运行一段动画或执行某个脚本程序。
},
Viewpoint
{position 10.0 0.0 5.0
orientation0.0 1.0 0.0 0.785
description"userVP2"
Child
[
Inline内联
{
url”对象文件名”
}
]
}
四、光照效果
1、点光源
其发射的光线好像是从空间中某个点向四周发散,其最大特点是没有方向性。
PointLight——通常不能规定一个有限的大小光照范围,所以常用Transform结点嵌套来限定一个光源光照范围
{
Location x y z——光源位置,默认值为坐标原点
}
3、锥光照效果结点
从一个点发出,朝着一个方向。
SpotLight
{
Location x y z
Direction x1 y1 z1
Color r g b
cutOffAngle hal——光锥角,中心轴与光锥母线之间的夹角,范围0.0-1.570,默认为0.785(45度)
beamWidth a2——散射角,散射光锥的锥顶角,范围0.0-3.142(0-180度),默认为1.570,一般情况下此光锥要小于锥光光锥(一般来说锥光光源在散射光锥之内的光照强度是相同的,而在散射光锥和锥光光锥之间强度将逐渐减弱直到锥光光锥的边缘上变为零)
{
string "hello world!"
fontStyle FontStyle
{
size 2
family”SERIF”(文本字体,SANS、TYPEWRITER)
style”PLAIN”(文本字型,默认为PLANIN普通,BOLD加粗、ITALIC倾斜、BLODITALIC粗斜)
horizontal TRUE(文本方向,TURE水平,FALUS垂直Y方向)
{
skyAngle[1.308,1.570]——天空角(从X负向到Y正向到X正向)[天空角1,天空角2….]Y轴正向为0,X正向为90度即水平面
skyColor [0.5 0.1 0.9,0.0 0.5 1.0,1.0 0.5 6.0]——天空色[天空色0,….]
groundAngle[1.308,1.570]——地面角(从X负向到Y负向到X正向)从Y负向开始
orientation1.0 0.0 0.0-0.262(指定了浏览者的视线,x,y,z,a(旋转角度/弧度以确定浏览者的视线方向),默认值(0.0,1.0,0.0,0.0)以Y轴正向为旋转;(0.0,-1.0,0.0,1.570)以Y轴负向按右手螺旋法视线旋转90度;(-1.0,0.0,0.0,1.570)以X轴负向按右手螺旋法视线旋转90度。)
intensityb
ambientIntensity c
radius r
on tf
}
五、声音结点
VRML能使用的音频文件的类型是MIDI和WAV。
Sound
{
Location x y z——说明音源的位置
Direction x1 y1 z1——声音的发射方向
Intensity v——说明音量大小
Spatialize m——说明是否是立体声
Shininess
ambientIntensity
金
0.3 0.2 0.0
0.7 0.7 0.6
0.20
0.40
银
0.5 0.5 0.7
0.8 0.8 0.9
0.20
0.40
铜
0.4 0.2 0.0
0.8 0.4 0.0
0.10
0.28
铝
0.3 0.3 0.5
0.7 0.7 0.8
0.10
0.30
黄塑料
visibilityRange s——规定了游览者在雾中的最大可视距离,在此距离以内的物体是可见的,且由近及远,雾的浓度渐增,之外的不可见;默认为0.0表示无穷大.
set_bind——入事件,与isBound出事件用于进行VRML空间背景切换。Ture\false
isBound——出事件,切换时为FALSE
0.6
深蓝
}
}
ImageTexture(帖图域结点)
{
url”图像文件名“(注:要把所用图像放在VRML文件的保存位置)
}
Geometry{几何造型结点:BOX长方体(size x y z(2.0 2.0 2.0));Cylinder圆柱体(radius r(半径(1.0));height h(高度)(2.0));Cone圆锥体(bottomRadius r(1.0),height h(2.0));sphere球体(radius r(1.0))}Text(文本造型域)
set_bind
isBound
}
三、内联
1、内联是指在主控文件中调用对象文件,从面把对象文件创建的物体放到主控文件定义的基础环境中。
Inline结点来实现
内联结点通常嵌入到一个Transform结点
2、结构及用法
Transform
{
Translation…
Rotation_确定物体的方向
Scale_确定物体的大小比例
Color r g b——光线颜色
Intensity b——光源亮度,默认1.0最亮
ambientIntensity c——光照效果的场景对比度,0.0最弱;1.0最强;默认0.0
radius r——光源的光照范围半径(取值:0.0-65535.0,默认100)
on tf——光源是否打开,TURE,FALSE,默认是打开的TURE
颜色
0.0
0.0
0.0
黑色
0.2
0.2
0.2
深灰
0.6
0.6
0.6
淡灰
0.8
0.8
0.8
浅灰
1.0
1.0
1.0
白色
1.0
0.0
0.0
红色
0.0
1.0
0.0
绿色
0.0
0.0
1.0
蓝色
1.0
1.0
0.0
黄
0.0
1.0
1.0
蓝绿
1.0
0.0
1.0
绛红
0.6
0.0
0.0
暗红
0.0
0.6
0.0
墨绿
0.0
0.0
{
translation-2.0 0.0 0.0——规定了X、Y、Z方向的平移量当平移量为正时正向移反之相反,默认值(0.0 0.0 0.0),
rotation x y z z——规定了旋转方向和旋转量,以原点到(x y z)点的射线为旋转轴,用右手螺法则将坐标系旋转a弧度,当为负时倒转默认(0.0 0.0 1.0 0.0)即Z轴正向为轴。
jump FALSE
},
Viewpoint
{position 0.0 0.0 -15.0
orientation0.0 1.0 0.0 3.140
description"userVP3"
jump FALSE
}
]
}
NavigationInfo
{
avatarSize——[体宽,身高,步高]——默认为:0.25,1.6,0.75
}
2、平行光照效果结点
DirectionalLight
{
Direction x y z——光线的方向,确定了一个点光线的方向是原点以该点的方向,默认0.0 0.0 -1.0Z轴负向上的一个点,光线方向是朝着Z轴负向的。
Color r g b
Intensity b
ambientIntensity c
on tf
bottomUrl []示。
set_bind——入事件,与isBound出事件用于进行VRML空间背景切换。Ture\false
isBound——出事件,切换时为FALSE
}
}
Fog——大气效果结点
{
Color r g b——定义雾的颜色
fogType type——密度类型,有两种值:“LINEAR”,“EXPONENTIAL”,默认为前者,在此中雾的浓度与浏览者观察物体的距离成正比,称线性雾;在后者中雾的浓度与之距离的平方成正比,也称指数雾。
justify[“BEGIN”,”FIRST”](文本的对齐方式,水平时默认此值表示原点在文本左下面,[“MIDDLE”,“MIDDLE”]表示水平和垂直方向都按坐标系原点居中)
}
}
},
Transform——编组结点(Anchor:链接物结点;Billboard:朝向结点):坐标系变换结点相对于原点进行平移、旋转和扩缩坐标系。[注:此结点只对嵌套在其内的成员有效,对与之并列的结点不起作用]
visibilityLimit可视距离——浏览者的视力,即能看到的最远距离,默认为0.0
headlight——化身头灯,缺省为TRUE
type——化身者导航类型,共5种类型:
WALK(行走)、FLY、EXAMIN(观察)、ANY(任意)、NONE(不使用任何方式)
Speed——行驶速度,单位为VRML单位/秒
groundColor[0.1 0.0 0.0,0.4 0.3 0.2,0.6 0.6 0.6]——颜色由R(红)G(绿)B(蓝)三色合成,数值范围从0.0—1.0,0.0最弱,1.0最强。
frontUrl []
backUrl []
leftUrl []
rightUrl []此六个域用于为VRML虚拟空间分别添加前、后、左、右、上、下背景图像,以生成空topUrl []间立方体全景图像背景一般可不指定topUrl和bottomUrl从而使地面和天空透过全景显
description"userVP1"(说明视点名称)
jump FALSE(说明了视点跳转规则,当为TURE时,切换到视点的过程是立即跳转中没无过渡;当为FALSE时切换过程使用一段移动到该视点的动画来过渡)
fieldOfView——设置视点中视角的大小,以弧度为计量单位,大视角可产生类似广角镜头效果,用以将造型推远;小视角则产生类似远焦镜头效果,用以将造型拉近。取值范围0.0-3.142,缺省为0.785即45度。
scale kx ky kz——规定了X、Y、Z方向的扩缩系数,当小于1时表示缩小,大于1表示扩大。默认值(1.0 1.0 1.0)即不扩缩。
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0.0 1.0 0.0
}
}
geometry Cone
{
height 2.4
bottomRadius 2.4
}
}
]
},
Viewpoint——控制结点(NavigationInfo:浏览者信息结点,ViewPoint:视点设置结点;InLine:内联结点)
{
position 2.0 5.0 20.0(指定了浏览者的位置,X,Y,Z默认值0.0,0.0,10.0即为Z轴正向上的一个点)
0.8 0.8 0.2
0.8 0.8 0.8
0.15
0.10
绿塑料
0.2 0.8 0.2
0.8 0.8 0.8
0.15
0.10
蓝塑料
0.2 0.2 0.8
0.8 0.8 0.8
0.15
0.10
红塑料
0.8 0.2 0.2
0.8 0.8 0.8
0.15
0.10
常见颜色的RGB分量
Redຫໍສະໝຸດ Baidu
Green
Blue
VRML工具使用说明
一、浏览器使用说明
1.常用快捷键
Shift+鼠标前后托动:加速行走;
ALT+鼠标托动:平移;
CTRL+鼠标前后托动:抬头或低头
2.导航工具栏
二、VRML语法结构
#VRML V2.0 utf8——文件头
Group——主编组结点
{
Children——引出成员结点
[
Background——环境结点(FOG:大气效果;SOUND:声音结点;POINtlight\direction\spotlight:光照效果结点):空间背景(成员结点)