VRML使用说明.docx

上传人:b****5 文档编号:7605774 上传时间:2023-01-25 格式:DOCX 页数:25 大小:37.32KB
下载 相关 举报
VRML使用说明.docx_第1页
第1页 / 共25页
VRML使用说明.docx_第2页
第2页 / 共25页
VRML使用说明.docx_第3页
第3页 / 共25页
VRML使用说明.docx_第4页
第4页 / 共25页
VRML使用说明.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

VRML使用说明.docx

《VRML使用说明.docx》由会员分享,可在线阅读,更多相关《VRML使用说明.docx(25页珍藏版)》请在冰豆网上搜索。

VRML使用说明.docx

VRML使用说明

VRML工具使用说明

一、浏览器使用说明

1.常用快捷键

Shift+鼠标前后托动:

加速行走;

ALT+鼠标托动:

平移;

CTRL+鼠标前后托动:

抬头或低头

2.导航工具栏

二、VRML语法结构

#VRMLV2.0utf8——文件头

Group——主编组结点

{

Children——引出成员结点

[

Background——环境结点(FOG:

大气效果;SOUND:

声音结点;POINtlight\direction\spotlight:

光照效果结点):

空间背景(成员结点)

{

skyAngle[1.308,1.570]——天空角(从X负向到Y正向到X正向)[天空角1,天空角2….]Y轴正向为0,X正向为90度即水平面

skyColor[0.50.10.9,0.00.51.0,1.00.56.0]——天空色[天空色0,….]

groundAngle[1.308,1.570]——地面角(从X负向到Y负向到X正向)从Y负向开始

groundColor[0.10.00.0,0.40.30.2,0.60.60.6]——颜色由R(红)G(绿)B(蓝)三色合成,数值范围从0.0—1.0,0.0最弱,1.0最强。

frontUrl[]

backUrl[]

leftUrl[]

rightUrl[]此六个域用于为VRML虚拟空间分别添加前、后、左、右、上、下背景图像,以生成空topUrl[]间立方体全景图像背景一般可不指定topUrl和bottomUrl从而使地面和天空透过全景显

bottomUrl[]示。

set_bind——入事件,与isBound出事件用于进行VRML空间背景切换。

Ture\false

isBound——出事件,切换时为FALSE

}

}

Fog——大气效果结点

{

Colorrgb——定义雾的颜色

fogTypetype——密度类型,有两种值:

“LINEAR”,“EXPONENTIAL”,默认为前者,在此中雾的浓度与浏览者观察物体的距离成正比,称线性雾;在后者中雾的浓度与之距离的平方成正比,也称指数雾。

visibilityRanges——规定了游览者在雾中的最大可视距离,在此距离以内的物体是可见的,且由近及远,雾的浓度渐增,之外的不可见;默认为0.0表示无穷大.

set_bind——入事件,与isBound出事件用于进行VRML空间背景切换。

Ture\false

isBound——出事件,切换时为FALSE

}

Shape——实物结点:

几何造型和文字结点(成员结点)

{

appearanceAppearance(外观域结点)

{materialMaterial——材质

{

diffuseColor0.80.80.8(漫反光色,默认值0.80.80.8)

specularColor0.0.0.00.0(材质的镜面反射光色)

shininess0.2(材料表面亮度)

ambientIntensity0.2(材料表面的对比度)

emissiveColor0.00.00.0(材料的发射光色)

transparency0.0(材料的透明度0.0不透明,1.0完体透明)

几种常用材料主要材质参数

材料

diffuseColor

specularColor

Shininess

ambientIntensity

0.30.20.0

0.70.70.6

0.20

0.40

0.50.50.7

0.80.80.9

0.20

0.40

0.40.20.0

0.80.40.0

0.10

0.28

0.30.30.5

0.70.70.8

0.10

0.30

黄塑料

0.80.80.2

0.80.80.8

0.15

0.10

绿塑料

0.20.80.2

0.80.80.8

0.15

0.10

蓝塑料

0.20.20.8

0.80.80.8

0.15

0.10

红塑料

0.80.20.2

0.80.80.8

0.15

0.10

常见颜色的RGB分量

Red

Green

Blue

颜色

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

0.6

深蓝

}

}

ImageTexture(帖图域结点)

{

url”图像文件名“(注:

要把所用图像放在VRML文件的保存位置)

}

Geometry{几何造型结点:

BOX长方体(sizexyz(2.02.02.0));Cylinder圆柱体(radiusr(半径(1.0));heighth(高度)(2.0));Cone圆锥体(bottomRadiusr(1.0),heighth(2.0));sphere球体(radiusr(1.0))}Text(文本造型域)

{

string"helloworld!

"

fontStyleFontStyle

{

size2

family”SERIF”(文本字体,SANS、TYPEWRITER)

style”PLAIN”(文本字型,默认为PLANIN普通,BOLD加粗、ITALIC倾斜、BLODITALIC粗斜)

horizontalTRUE(文本方向,TURE水平,FALUS垂直Y方向)

justify[“BEGIN”,”FIRST”](文本的对齐方式,水平时默认此值表示原点在文本左下面,[“MIDDLE”,“MIDDLE”]表示水平和垂直方向都按坐标系原点居中)

}

}

},

Transform——编组结点(Anchor:

链接物结点;Billboard:

朝向结点):

坐标系变换结点相对于原点进行平移、旋转和扩缩坐标系。

[注:

此结点只对嵌套在其内的成员有效,对与之并列的结点不起作用]

{

translation-2.00.00.0——规定了X、Y、Z方向的平移量当平移量为正时正向移反之相反,默认值(0.00.00.0),

rotationxyzz——规定了旋转方向和旋转量,以原点到(xyz)点的射线为旋转轴,用右手螺法则将坐标系旋转a弧度,当为负时倒转默认(0.00.01.00.0)即Z轴正向为轴。

scalekxkykz——规定了X、Y、Z方向的扩缩系数,当小于1时表示缩小,大于1表示扩大。

默认值(1.01.01.0)即不扩缩。

children

[

Shape

{

appearanceAppearance

{

materialMaterial

{

diffuseColor0.01.00.0

}

}

geometryBox

{

size2.04.02.0

}

}

]

},(注:

成员结点之间用逗号隔开)

Transform

{

translation-2.03.00.0

children

[

Shape

{

appearanceAppearance

{

materialMaterial

{

diffuseColor0.01.00.0

}

}

geometryCone

{

height2.4

bottomRadius2.4

}

}

]

},

Viewpoint——控制结点(NavigationInfo:

浏览者信息结点,ViewPoint:

视点设置结点;InLine:

内联结点)

{

position2.05.020.0(指定了浏览者的位置,X,Y,Z默认值0.0,0.0,10.0即为Z轴正向上的一个点)

orientation1.00.00.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度。

description"userVP1"(说明视点名称)

jumpFALSE(说明了视点跳转规则,当为TURE时,切换到视点的过程是立即跳转中没无过渡;当为FALSE时切换过程使用一段移动到该视点的动画来过渡)

fieldOfView——设置视点中视角的大小,以弧度为计量单位,大视角可产生类似广角镜头效果,用以将造型推远;小视角则产生类似远焦镜头效果,用以将造型拉近。

取值范围0.0-3.142,缺省为0.785即45度。

set_bind

isBound

bindTime——出事件用于发出视点被切换的时间,可用来在一个给定的视点激活时开始运行一段动画或执行某个脚本程序。

},

Viewpoint

{position10.00.05.0

orientation0.01.00.00.785

description"userVP2"

jumpFALSE

},

Viewpoint

{position0.00.0-15.0

orientation0.01.00.03.140

description"userVP3"

jumpFALSE

}

]

}

NavigationInfo

{

avatarSize——[体宽,身高,步高]——默认为:

0.25,1.6,0.75

visibilityLimit可视距离——浏览者的视力,即能看到的最远距离,默认为0.0

headlight——化身头灯,缺省为TRUE

type——化身者导航类型,共5种类型:

WALK(行走)、FLY、EXAMIN(观察)、ANY(任意)、NONE(不使用任何方式)

Speed——行驶速度,单位为VRML单位/秒

set_bind

isBound

}

三、内联

1、内联是指在主控文件中调用对象文件,从面把对象文件创建的物体放到主控文件定义的基础环境中。

Inline结点来实现

内联结点通常嵌入到一个Transform结点

2、结构及用法

Transform

{

Translation…

Rotation_确定物体的方向

Scale_确定物体的大小比例

Child

[

Inline内联

{

url”对象文件名”

}

]

}

四、光照效果

1、点光源

其发射的光线好像是从空间中某个点向四周发散,其最大特点是没有方向性。

PointLight——通常不能规定一个有限的大小光照范围,所以常用Transform结点嵌套来限定一个光源光照范围

{

Locationxyz——光源位置,默认值为坐标原点

Colorrgb——光线颜色

Intensityb——光源亮度,默认1.0最亮

ambientIntensityc——光照效果的场景对比度,0.0最弱;1.0最强;默认0.0

radiusr——光源的光照范围半径(取值:

0.0-65535.0,默认100)

ontf——光源是否打开,TURE,FALSE,默认是打开的TURE

}

2、平行光照效果结点

DirectionalLight

{

Directionxyz——光线的方向,确定了一个点光线的方向是原点以该点的方向,默认0.00.0-1.0Z轴负向上的一个点,光线方向是朝着Z轴负向的。

Colorrgb

Intensityb

ambientIntensityc

ontf

}

3、锥光照效果结点

从一个点发出,朝着一个方向。

SpotLight

{

Locationxyz

Directionx1y1z1

Colorrgb

cutOffAnglehal——光锥角,中心轴与光锥母线之间的夹角,范围0.0-1.570,默认为0.785(45度)

beamWidtha2——散射角,散射光锥的锥顶角,范围0.0-3.142(0-180度),默认为1.570,一般情况下此光锥要小于锥光光锥(一般来说锥光光源在散射光锥之内的光照强度是相同的,而在散射光锥和锥光光锥之间强度将逐渐减弱直到锥光光锥的边缘上变为零)

intensityb

ambientIntensityc

radiusr

ontf

}

五、声音结点

VRML能使用的音频文件的类型是MIDI和WAV。

Sound

{

Locationxyz——说明音源的位置

Directionx1y1z1——声音的发射方向

Intensityv——说明音量大小

Spatializem——说明是否是立体声

maxFrontmaxF——说明音源的有效作用范围

maxBackmaxB

minFrontminF

minBackminB

sourceAudioClip——是一个结点,使用下面域说明使用音频文件及是否循环播放该文件

{

Rul”音频文件”

Loopr

Pitch1.0——指定声音播放的音调因子,用以加快或减慢声音的播放速度。

当其0.0-1.0之间时音调降调速度减慢;1.0时正常播放,大于1。

0时升调且加快。

startTime0.0

stopTime0.0

duration_changed——用于在声音文件打开后,将声音的播放时间(以秒计算)发送出去,使其它节点知道当前播放声音的持续时间,所输入出的播放时间与pitch域规定的播放速度无关,当声音无法打开或不能确定其播放时间时,该输出为-1。

isActive——出事件在声音开始播放时,发送一个true事件,当声音停止时,发送一个FALSE事件,通过该事件可以告知其他节点当前声音文件是否正在播放。

}

}

六、朝向结点

能够根据浏览者位置调整自身的朝向,始终面对着浏览者。

Billboard

{

axisOfRotation0.01.00.0——确定了一个点,旋转轴就是从原点到该点的射线,默认为Y正向上的一个点,即以Y轴旋转。

Children——引出物体用shape结点创建,或嵌入Transform结点,嵌入的物体将要随着游览者的移动而绕轴旋转。

[

]

}

七、链接物结点

Anchor

{

url“VRML/HTML网页文件名”——通常将文件放在同一位置,否则使用URL格式给出,如果在URL地址后连结一个“#”和一个在VRML文件中已存在的viewpoint节点名时,则自动将给定视点设置为当前的观察点。

description“状态栏描述信息”——是一个字符串,网页打开后,当鼠标指向被嵌套物体时,字符串显示在浏览器的状态栏上。

children

[

若干shape或Transform结点

]

}

八、节点定义及引用

1、定义节点:

DEF节点名节点{}

DEFA1shape{}

appearanceDEFapp2Appearance

2、引用

USE结点名

九、VRML纹理映射

使用Appearance节点的texture\textureTransform进行点、线、面方式构造的复杂造型,也可使用TextureCoordinate节点进行精确纹理映射。

1、Texture

其值可以是ImageTexture(图像纹理)、pixeTexture(像素纹理)、MovieTexture(电影纹理)。

对Appearance节点内只能使用三种映射纹理中的一种。

2、textureTransform

用于对映射的纹理进行纹理坐标系变换,类似于Transform节点对空间坐标系的变换操作。

注:

纹理的坐标系与几何空间坐标系不同,其是一个两维平面坐标系(ST)S为X轴,T为Y轴。

纹理左下角位于原点(00),右上角位于(11)。

默认区域为平面点(00)(10)(11)(01)所围成的矩形。

每重复一次使S或T纹理坐标值加1,若在负向则减1。

3、图像纹理ImageTexture

ImageTexture

{

url[““]

repeatStrue——指定像素纹理是否沿S方向铺展

repeaTtrue——指定纹理是否沿T方向铺展。

4、像素纹理PixeTexture

PixeTexture{

Image000——用于设置对对造型进行纹理映射的像素纹理的大小和类型。

其值必须为整数,分别为横、纵像素个数及像素纹理类型

像素纹理类型有4种:

单元1——是灰度纹理,使用一个字节的16进制数据表示灰度,0XFF最亮,)0X00最暗。

双元2——灰度加alpha透明度纹理,使用二个字节的16进制数据表示,第一字节表灰度,第二字节表透明度。

三元3——是RGB彩色纹理,使用3个字节的16进制数据表示,每个字节表一色

四元4——是RGB加上alpha透明度纹理,使用4字节表示。

repeatS

repeat

}

注:

VRML像素纹理规定像纱的排列遵循从左到右、从底到上进行。

第一个数表示左下角像素,最后一个表示右上角像素。

5、电影纹理MovieTexture

用于设置一个电影纹理以及将该纹理映射至几何体表面时所需要的映射参数和控制播放参数。

主要有两方面的作用,一是作为电影纹理对造型进行纹理映射,二是进行纹理映射的同时同步产生电影伴音。

通常做为appearance节点的texture域的域值。

MovieTexture

{

url[“”]——指定一个由高优先级到低优先级排列的电影纹理文件的列表,其可以是MPEG1-system(包含声音和图像)或MPEG1-video(只包含图像)文件格式

loop

speed1.0

starTime0.0

stopTime0.0

repeatS

repeat

duration_changed

isActive

}

6、纹理变换TextureTransform

TextureTransform

{

Translation0.00.0——新坐标点相对于原坐标点在S、T方向上的偏移距离

Rotation0.0——新坐标系相对于原点的旋转角度

Scale1.01.0——在S、T方向上的缩放系数

Center0.00.0——设置缩放及旋转的坐标点

}

十、几何造型

1、PointSet几何点造型,用来制作机场指示灯或夜空中闪烁的星星等造型。

其不受系统默认或人为设置光源的影响,不能进行纹理渲染,也不能进行碰撞检测。

PointSet{

CoordNULL——用来设置空间造型的位置坐标

ColorNULL——造型着色

}

例:

geometryPointSet

{

coordCoordinate

{

point[

0.01.00.0

-0.9510.3090.0

-0.588-0.8090.0

0.588-0.8090.0

0.9510.3090.0

]

}

colorColor

{

color[

1.00.00.0

1.01.00.0

0.01.00.0

0.01.01.0

0.00.01.0

]

}

}

2、几何线造型

IndexedLineSet

{

Coordnull——设置线造型的端点

coordIndex[]——设置一系列用以创建一条直线或多条折线路径的坐标索引列表

colornull——用来为线单独着色

colorIndex[]——设置一系列用以渲染线路径的颜色

colorPerVertexTRUE——设置对线造型的渲染是基于端点(TRUE)还是基于线段

set_coordIndex——入事件用于设置新的坐标索引列表

set_colorIndex——入事件用于设置新的颜色索引列表

}

例:

indexlineset.wrl

3、几何面造型

IndexedFaceSet

{

Coordnull——顶点坐标

coordIndex——坐标索引列表

texCoordnull——进行特殊的纹理渲染

texCoordIndex[]——纹理渲染索引列表

colornull——对面进行着色

colorIndex[]——着色索引列表

colorPerVertexTRUE——设置对造型面着色是基于端点的还是基于面的

normal——设置另一个NORMAL结点用于指定面集中的平面或顶点的单位法向量,单位法向量用于改变场景光线的明暗渲染效果。

normalIndex[]——设置一系列用于明暗控制的索引列表

normalPerVertexTRUE——设置对面造型的单位法向量控制是基于顶点(TRUE)还是基于面的。

ccwTRUE——设置在光线模拟方程中,相对于自定义或默认单位法向量,几何造型顶点坐标系的设定方式。

若为TRUE按右手法则,为FALSE按左手法则。

convexTRUE——设置面造型中的平面是凸面(TRUE)不是凹面。

solidTRUE——设置集中的面是否构成一个实体(TRUE构成)

creaseAngel——设置一个用弧度表示的褶皱角的阈值。

如果两个相邻面的法向量间的夹角小于所设定的阈值,则两个面间的接触棱会变得模糊,大于时原样。

缺省为0。

0一般要大于等于此值。

set_coordIndex——入事件用于设置新坐标索引列表

set_texCoordIndex——入事件用于设置新纹理索引列表

set_colorIndex——入事件用于设置新颜色索引列表

set_normalIndex——入事件用以设置新的单位法向量索引列表

}

4、地形标高造型

是首先在XOZ坐标平面上创建一个栅格(即空间面在XOZ坐标平面上的投影面),然后再任意改变每个栅格在Y

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1