首页 VRML使用说明

VRML使用说明

举报
开通vip

VRML使用说明VRML工具使用说明 1、 浏览器使用说明 1. 常用快捷键 Shift+鼠标前后托动:加速行走; ALT+鼠标托动:平移; CTRL+鼠标前后托动:抬头或低头 2. 导航工具栏 2、 VRML语法结构 #VRML V2.0 utf8——文件头 Group——主编组结点 { Children——引出成员结点 [ Background——环境结点(FOG:大气效果;SOUND:声音结点;POINtlight\direction\spotlight:光照效果结点):空间背景(成员结点) ...

VRML使用说明
VRML工具使用说明 1、 浏览器使用说明 1. 常用快捷键 Shift+鼠标前后托动:加速行走; ALT+鼠标托动:平移; CTRL+鼠标前后托动:抬头或低头 2. 导航工具栏 2、 VRML语法结构 #VRML V2.0 utf8——文件头 Group——主编组结点 { Children——引出成员结点 [ Background——环境结点(FOG:大气效果;SOUND:声音结点;POINtlight\direction\spotlight:光照效果结点):空间背景(成员结点) { 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负向开始 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从而使地面和天空透过全景显 bottomUrl [] 示。 set_bind ——入事件,与isBound出事件用于进行VRML空间背景切换。Ture\false isBound——出事件,切换时为FALSE } } Fog——大气效果结点 { Color r g b ——定义雾的颜色 fogType type——密度类型,有两种值:“LINEAR”,“EXPONENTIAL”,默认为前者,在此中雾的浓度与浏览者观察物体的距离成正比,称线性雾;在后者中雾的浓度与之距离的平方成正比,也称指数雾。 visibilityRange s——规定了游览者在雾中的最大可视距离,在此距离以内的物体是可见的,且由近及远,雾的浓度渐增,之外的不可见;默认为0.0 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示无穷大. set_bind ——入事件,与isBound出事件用于进行VRML空间背景切换。Ture\false isBound——出事件,切换时为FALSE } Shape——实物结点:几何造型和文字结点(成员结点) { appearance Appearance(外观域结点) {material Material——材质 { diffuseColor 0.8 0.8 0.8(漫反光色,默认值0.8 0.8 0.8) specularColor 0.0 .0.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 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 黄塑料 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 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长方体(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(文本造型域) { string "hello world!" fontStyle FontStyle { size 2 family”SERIF”(文本字体,SANS、TYPEWRITER) style”PLAIN”(文本字型,默认为PLANIN普通,BOLD加粗、ITALIC倾斜、BLODITALIC粗斜) horizontal TRUE(文本方向,TURE水平,FALUS垂直Y方向) justify[“BEGIN”,”FIRST”](文本的对齐方式,水平时默认此值表示原点在文本左下面,[“MIDDLE”,“MIDDLE”]表示水平和垂直方向都按坐标系原点居中) } } }, Transform——编组结点(Anchor:链接物结点;Billboard:朝向结点):坐标系变换结点相对于原点进行平移、旋转和扩缩坐标系。[注:此结点只对嵌套在其内的成员有效,对与之并列的结点不起作用] { 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轴正向为轴。 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 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 } } 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轴正向上的一个点) orientation 1.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度。) description "userVP1"(说明视点名称) jump FALSE(说明了视点跳转规则,当为TURE时,切换到视点的过程是立即跳转中没无过渡;当为FALSE时切换过程使用一段移动到该视点的动画来过渡) fieldOfView——设置视点中视角的大小,以弧度为计量单位,大视角可产生类似广角镜头效果,用以将造型推远;小视角则产生类似远焦镜头效果,用以将造型拉近。取值范围0.0-3.142,缺省为0.785即45度。 set_bind isBound bindTime——出事件用于发出视点被切换的时间,可用来在一个给定的视点激活时开始运行一段动画或执行某个脚本程序。 }, Viewpoint {position 10.0 0.0 5.0 orientation 0.0 1.0 0.0 0.785 description "userVP2" jump FALSE }, Viewpoint {position 0.0 0.0 -15.0 orientation 0.0 1.0 0.0 3.140 description "userVP3" jump FALSE } ] } 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结点嵌套来限定一个光源光照范围 { Location x y z——光源位置,默认值为坐标原点 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 } 2、平行光照效果结点 DirectionalLight { Direction x y z ——光线的方向,确定了一个点光线的方向是原点以该点的方向,默认0.0 0.0 -1.0Z轴负向上的一个点,光线方向是朝着Z轴负向的。 Color r g b Intensity b ambientIntensity c on tf } 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,一般情况下此光锥要小于锥光光锥(一般来说锥光光源在散射光锥之内的光照强度是相同的,而在散射光锥和锥光光锥之间强度将逐渐减弱直到锥光光锥的边缘上变为零) intensity b ambientIntensity c radius r on tf } 五、声音结点 VRML能使用的音频文件的类型是MIDI和WAV。 Sound { Location x y z ——说明音源的位置 Direction x1 y1 z1——声音的发射方向 Intensity v——说明音量大小 Spatialize m——说明是否是立体声 maxFront maxF——说明音源的有效作用范围 maxBack maxB minFront minF minBack minB source AudioClip——是一个结点,使用下面域说明使用音频文件及是否循环播放该文件 { Rul”音频文件” Loop r Pitch 1.0——指定声音播放的音调因子,用以加快或减慢声音的播放速度。当其0.0-1.0之间时音调降调速度减慢;1.0时正常播放,大于1。0时升调且加快。 startTime 0.0 stopTime 0.0 duration_changed——用于在声音文件打开后,将声音的播放时间(以秒计算)发送出去,使其它节点知道当前播放声音的持续时间,所输入出的播放时间与pitch域规定的播放速度无关,当声音无法打开或不能确定其播放时间时,该输出为-1。 isActive——出事件在声音开始播放时,发送一个true事件,当声音停止时,发送一个FALSE事件,通过该事件可以告知其他节点当前声音文件是否正在播放。 } } 六、朝向结点 能够根据浏览者位置调整自身的朝向,始终面对着浏览者。 Billboard { axisOfRotation 0.0 1.0 0.0——确定了一个点,旋转轴就是从原点到该点的射线,默认为Y正向上的一个点,即以Y轴旋转。 Children——引出物体用shape结点创建,或嵌入Transform结点,嵌入的物体将要随着游览者的移动而绕轴旋转。 [ ] } 七、链接物结点 Anchor { url “VRML/HTML网页文件名”——通常将文件放在同一位置,否则使用URL格式给出,如果在URL地址后连结一个“#”和一个在VRML文件中已存在的viewpoint节点名时,则自动将给定视点设置为当前的观察点。 description “状态栏描述信息”——是一个字符串,网页打开后,当鼠标指向被嵌套物体时,字符串显示在浏览器的状态栏上。 children [ 若干shape或Transform结点 ] } 八、节点定义及引用 1、定义节点: DEF 节点名 节点{ } DEF A1 shape{} appearance DEF app2 Appearance 2、引用 USE 结点名 九、VRML纹理映射 使用Appearance节点的texture\textureTransform进行点、线、面方式构造的复杂造型,也可使用TextureCoordinate节点进行精确纹理映射。 1、 Texture 其值可以是ImageTexture(图像纹理)、pixeTexture(像素纹理)、MovieTexture(电影纹理)。对Appearance节点内只能使用三种映射纹理中的一种。 2、 textureTransform 用于对映射的纹理进行纹理坐标系变换,类似于Transform节点对空间坐标系的变换操作。 注:纹理的坐标系与几何空间坐标系不同,其是一个两维平面坐标系(S T)S为X轴,T为Y轴。纹理左下角位于原点(00),右上角位于(11)。默认区域为平面点(00)(10)(11)(01)所围成的矩形。每重复一次使S或T纹理坐标值加1,若在负向则减1。 3、 图像纹理ImageTexture ImageTexture { url [“ “] repeatS true——指定像素纹理是否沿S方向铺展 repeaT true——指定纹理是否沿T方向铺展。 4、 像素纹理PixeTexture PixeTexture{ Image 0 0 0——用于设置对对造型进行纹理映射的像素纹理的大小和类型。其值必须为整数,分别为横、纵像素个数及像素纹理类型 像素纹理类型有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 speed 1.0 starTime 0.0 stopTime 0.0 repeatS repeat duration_changed isActive } 6、 纹理变换TextureTransform TextureTransform { Translation 0.0 0.0——新坐标点相对于原坐标点在S、T方向上的偏移距离 Rotation 0.0——新坐标系相对于原点的旋转角度 Scale 1.0 1.0——在S、T方向上的缩放系数 Center 0.0 0.0——设置缩放及旋转的坐标点 } 十、几何造型 1、PointSet几何点造型,用来制作机场指示灯或夜空中闪烁的星星等造型。其不受系统默认或人为设置光源的影响,不能进行纹理渲染,也不能进行碰撞检测。 PointSet{ Coord NULL——用来设置空间造型的位置坐标 Color NULL——造型着色 } 例:geometry PointSet { coord Coordinate { point [ 0.0 1.0 0.0 -0.951 0.309 0.0 -0.588 -0.809 0.0 0.588 -0.809 0.0 0.951 0.309 0.0 ] } color Color { color [ 1.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 ] } } 2、几何线造型 IndexedLineSet { Coord null ——设置线造型的端点 coordIndex []——设置一系列用以创建一条直线或多条折线路径的坐标索引列表 color null——用来为线单独着色 colorIndex []——设置一系列用以渲染线路径的颜色 colorPerVertex TRUE——设置对线造型的渲染是基于端点(TRUE)还是基于线段 set_coordIndex——入事件用于设置新的坐标索引列表 set_colorIndex——入事件用于设置新的颜色索引列表 } 例:indexlineset.wrl 3、几何面造型 IndexedFaceSet { Coord null——顶点坐标 coordIndex——坐标索引列表 texCoord null——进行特殊的纹理渲染 texCoordIndex []——纹理渲染索引列表 color null——对面进行着色 colorIndex []——着色索引列表 colorPerVertex TRUE——设置对造型面着色是基于端点的还是基于面的 normal——设置另一个NORMAL结点用于指定面集中的平面或顶点的单位法向量,单位法向量用于改变场景光线的明暗渲染效果。 normalIndex []——设置一系列用于明暗控制的索引列表 normalPerVertex TRUE——设置对面造型的单位法向量控制是基于顶点(TRUE)还是基于面的。 ccw TRUE——设置在光线模拟方程中,相对于自定义或默认单位法向量,几何造型顶点坐标系的设定方式。若为TRUE按右手法则,为FALSE按左手法则。 convex TRUE——设置面造型中的平面是凸面(TRUE)不是凹面。 solid TRUE——设置集中的面是否构成一个实体(TRUE构成) creaseAngel——设置一个用弧度表示的褶皱角的阈值。如果两个相邻面的法向量间的夹角小于所设定的阈值,则两个面间的接触棱会变得模糊,大于时原样。缺省为0。0一般要大于等于此值。 set_coordIndex——入事件用于设置新坐标索引列表 set_texCoordIndex——入事件用于设置新纹理索引列表 set_colorIndex——入事件用于设置新颜色索引列表 set_normalIndex——入事件用以设置新的单位法向量索引列表 } 4、地形标高造型 是首先在XOZ坐标平面上创建一个栅格(即空间面在XOZ坐标平面上的投影面),然后再任意改变每个栅格在Y轴上的高度,以创建不规则的相对于地平面的山脉或低谷造型(不规则空间面) ElevationGrid { xDimension 0 xSpacing 0.0 设置在X、Z方向上栅格顶点的数量(其生长方向为X轴和Z轴的正方向)其值必须大于等于0。所创建的标高栅格总数为(xDimension-1)*(zDimension-1)个。 zDimemsion 0 zSpacing 0.0 设置在X、Z方向上栅格的宽度,其值必须大于等于0,缺省为0.0 height []——设置栅格顶点在Y方向上的海拔高度列表。注每一个栅格顶点者应设置其海拔高度,即使为0也不能省,且栅格顶点的排列按照先X方向后Z方向的方式进行,总个数为xDimension*zDimension个。 texCoord null——用来为节点进行特殊纹理理渲染,其域值要设置TextureCoordinate节点。 color null——用来为标高造型着色 colorPerVertex true——渲染是基于栅格顶点的还是基于平面的 normal null——指定平面或顶点的单位法向量,用于改变场景光线的明暗渲染效果 normalPerVertex true——法向量是基于顶点的还是基于平面的 ccw true solid true creaseAngle 0.0——设置一个用弧度表示的褶皱角的阀值,夹角小于此值相邻棱变模糊,否则原样 set_height——入事件用来接收发送过来的栅格顶点海拔高度值,并改变该标高造型栅格顶点的高度列表 } 5、工业挤出造型 用于模拟工业加工中的一次成型挤压过程。首先在当前坐标系XOZ平面上构造一个二维的平面折线,再在VRML空间中指定一条曲线作为二维平面折线的运动轨迹。 Extrusion { crossSection——在xoz平面上设置一系列的二维坐标点,依次连接这些坐标点就定义了沿挤出脊线创建挤出造型时的一个封闭或开放的轮廓线。第一个值代表X坐标分量,第二个值代表Z坐标分量。缺省状态下设置一个中心在当前坐标系原点边长为2的正方形轮廓。 [ 1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 1.0 1.0 1.0 ] Spine [ 0.0 0.0 0.0 0.0 1.0 0.0 ] Scale [1.0 1.0] Orientation [0.0 0.0 1.0 0.0] beginCap True endCap True ccw True solid True convex True creaseAngle 0.0 set_crossSection set_spine set_scale set_orientation } 例:Extrusion.wrl/ Extrusion1.wrl/taideng.wrl 十一、动画 1、 Route:路由,某个节点的事件出口和其他节点的事件入口之间用于传递事件的通道。 注:最好把所有的route 语句集中放置在文件末尾,而其引用的节点则放在之前。在将一个节点的出事件传递给另一个入事件时,两事件的名字不必相同,但类型必须匹配。 2、 时间传感器 控制时间规律变化的系统机制是时间传感器TimeSensor节点,用于创建一个虚拟时钟,并对动画插补器节点实施时间控制。随着时间的推移可在一个指定的时间引发一个动作或者以固定的时间间隔产生输出事件。 TimeSensor(注:其总是独立于所有空间坐标系之外) { Enabled true——传感器使能状态 Loop false cycleInterval 1.0——设置时间传感器在0.0-1.0周期内一遍循环的具体时间长度,即时间周期,单位为S。其值必须大于0 startTime 0.0 stopTime 0.0 isActive——表明传感器当前是否正在运行 time——出事件在时间传感器开始运行后不断向外输出当前时间 cycleTime——每次循环起始输出一个当前时间;若loop为FALSE则只在起始运行时输出一次当前时间 fraction_changed——出事件在时间传感器开始运行后,输出当前时间周期的完成比,其值在0.0-1.0之间变化,0.0表示周期起始,1.0表示周期结束。 } 3、 动画插补器 是专为线性关键帧动画设计的一套系统动画机制。其根据所插补的关键状态的数据类型不同可分为6种: · 颜色插补器(ColorInterpolator) ColorInterpolator { Key []——设置一系列以浮点形式存在的关键点,并与接收到的入事件set_franction相对应。一般在0.0-1.0范围内取值,且要求依次递增排列。 Keyvalue []——设置一系列RGB颜色的关键状态,并与key的值一一对应。 Set_fraction——入事件用于不断接收来自时间传感器发出的动画触发比值。 Value_changed——出事件用于将选取的keyvalue域RGB颜色的关键状态发送出去。 } 例:ColorInterpolator.wrl · 位置插补器(PositionInterpolator) PositionInterpolator { Key [] Keyvalue [] Set_fraction Value_changed } 例:positionInterpolator · 朝向插补器(OrientationInterpolator) 用于产生空间朝向旋转改变动画 · 标量插补器(ScalarInterpolator):产生标量改变动画,适合于对任何用单精度浮点值定义的节点域值参数的动画控制 · 坐标插补器(CoordinateInterpolato):用于产生VRML基于坐标点的复杂造型改变动画 · 法向量插补器(NormalInterpolator):用以产生法向量改变从而导致光线明暗变化动画 十二、VRML交互功能 VRML中的交互传感器分为四类: · 接触传感器(Touchsensor) Touchsensor { Enabled True isOver——出事件当用户操作指点设备位于被传感的三维造型上时,引发该事件且事件为True,离开时为FALSE isActive——当用户操纵指点设备指向、选取并保持选取被传感的三维造型时,引发该事件值为TRUE离开时为FAL touchTime——事件值是释放指点设备时系统的当前时间,使用这一事件来模拟许多常见的用户操作,如用户单击并释放指点设备按键后产生的动作 hitPoint_changed——所指向造型表面的点的空间坐标 hitNormal_changed——所指向的该点所在的单位法向量 hitTexCoord_changed——所指向的该点所在位置的纹理坐标 } · 环境传感器 1、 平面传感器(PlaneSensor) PlaneSensor { Enabled true Offset 0.0 0.0 0.0——人为设置造型被指点设备初始触发时的缺省偏移量 autoOffset true——设置是否在平移中自动记忆上次移动的终点位置 minPosition 0.0 0.0——设置造型被指点设备移动时在X、Y方向上的最小平移位置 maxPosition -1.0 -1.0 isActive trackPoint_changed——出事件单击时传出实间平面上当前单击点的坐标位置 translation_changed——出事件在用户操纵指点设备指向被传感的三维造型、选取、保持选取并移动指点设备的情况下传感器将不断输出该事件。其值是空间平面上当前造型平移点的坐标位置 } [注:平面传感器在激活状态下,VRML其他指点设备传感器将不产生任何事件输出。] 2、 球体传感器 sphereSensor { Enabled true Offset 0.0 1.0 0.0 0.0——用于人为设置造型指点设备初始触发时的缺省旋转量,旋转轴+旋转弧度量 autoOffset true——设置是否在旋转中自动记忆上次旋转的终点朝向 isActive trackPoint_changed——出事件,其值是空间球体表面上当前单击点的坐标位置 rotation_changed——出事件其值是当前造型旋转的空间角度 }[注:此传感器在激活状态下,VRML其他指点设备传感器将不产生任何事件输出。] 3、 圆柱体传感器 cylinderSensor { Enabled true Offset 0.0——该值为旋转量,表示圆空间造型绕圆柱体中心轴放置的弧度偏移量 autoOffset true——是否在旋转中自动记忆上次旋转的终点朝向 minAngle 0.0 maxAngle -1.0 diskAngle 0.262——设置圆柱体传感器在圆盘行为和圆柱行为之间的切换角度。该值决定被传感造型的动作是像一个圆柱还是像一个圆盘在绕Y轴旋转。 isActive trackPoint_changed rotation_changed——出事件在用户操纵指点设备指向被传感的三维造型、选取、保持选取并移动指点设备的情况下,输出该事件。其值是空间圆柱体表面上当前造型旋转的空间角 }[注:此传感器在激活状态下,VRML其他指点设备传感器将不产生任何事件输出。] · 感知传感器 感知传感器只用于感知用户在场景中是否可见其中的的造型或用户与造型的接近程度。共有两种: · 可视传感器(VisibilitySensor) visibilitySensor { Enabled true Center 0.0 0.0 0.0——设置当前局部坐标系中一个被感知空间区域的中心点的三维坐标。 Size 0.0 0.0 0.0——一个被感知空间立方体区域的大小尺寸,当为默认值时相当于enabled=false isActive enterTime——出事件输出用户由不可见到可见被感知区域的时间 exitTime——出事件输出用户由可见到不可见被感知区域的时间 } · 接近传感器(ProximitySensor):用来从浏览者所在的方位感知用户何时进入、退出和移动于当前坐标系内的一个立方体区域,并产生多种事件输出。 ProximitySensor { Enabled true Center 0.0 0.0 0.0 Size 0.0 0.0 0.0 isActive enterTime exitTime position_changed orientation_changed } · 碰撞传感器 Collision节点用来从浏览者所在的方位检测用户何时与该组中的任何子节点造型发生了磁撞。此节点用来作为编组节点,即可单独使用也可作为其他编组节点的子节点使用。具有编组和感知双生功能。 Collision { Cildren [] Collide true——设置该碰撞节点所捆绑的造型是否进行碰撞检测。 Proxy null——设置碰撞代体。用以替代children设置的造型进行碰撞检测。 bboxCenter 0.0 0.0 0.0——设置包围该编组节点造型(包括所有子节点)的包围盒的中心点坐标。 bboxSize -1.0 -1.0 -1.0——设置包围该编组节点造型的包围盒在当前坐标系X、Y、Z方向上的大小。 collideTime——出事件用以输出传感器检测到的碰撞发生的时间 addChildren——入事件用以将指定节点加入到collision节点的子节点列表中,如果该节点已在子节点列表中,则该事件被忽略。 removeChildren——入事件用以将指定节点从collision节点的子节点列表中删除。 } 十三、VRML脚本设计 Script { url []——用来定义节点动作,在此调用的脚本程序可以由任何VRML浏览器支持的语言编写,其包含的语言有java、javascript及自带的VrmlScript语言 mustEvaluate FALSE——设置脚本程序何时进行处理。当为TRUE时,每当script节点的某个eventIn入事件接收到一个新值,浏览器将立即对相应脚本程序进行处理。为使浏览器性能达到最优其值设置为FALSE。 directOutput FALSE——设置脚本程序的输出是否受限制。 eventIn eventTypeName eventName eventOut eventTypeName eventName field fieldTypeName fieldname initialValue(field sfint32 n——定义一个私有的整型变量n; &位与运算?) } 十四、其他节点 1、 开关编组(switch) Switch { Choice []——包含多个节点列表,序号从0开始 whichChoice -1——选择要渲染的节点 } 2、 细节层次编组(LOD) LOD { Level []——设置层次节点列表,一般将第一个层次节点设置为高细节造型,其后的层次节点细节程度依次降低。 Center 0.0 0.0 0.0——设置细节层次模型的中心点坐标 Range []——设置浏览者造型与造型间的距离列表,当level有N个节点时,其应有N-1与之对应。其值必须大于0,且递增排列。 } 十五、原型及其应用 1、 PROTO:用以描述一个自定义的节点类型。 PROTO NodeTypeName [ Field fieldtypename fieldname defaultValue exposedField fieldType fieldname defaultValue eventIn eventInType eventInName eventOut eventOutType eventOutName ] { NodeBody } 2、EXTERNPROTO:用以在其他或网络上的.wrl文件中定义原型节点而在当前文件中加以引用。外部原型语句提供了一种使节点能跨越网络定义并引用的巨大能力,进一步提高了VRML的功能范畴,使用此可以将PROTO定义的文件放在本地或WWW上的外部.wrl文件中,组成原型库
本文档为【VRML使用说明】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_411421
暂无简介~
格式:doc
大小:136KB
软件:Word
页数:15
分类:互联网
上传时间:2011-11-17
浏览量:72