Logo. Cnvol.com,  149*52
中国视频在线(www.chinavideoonline.com)致力于收集各种流媒体相关的技术资料,以及流媒体常识和应用方案,力求为广大朋友了解学习和使用流媒体技术提供帮助

VRML节点说明(S)

作者/来源:未知
ScalarInterpolator节点

ScalarInterpolator {  
key [ ] # exposed field MFFloat
keyValue [ ] # exposed field MFFloat
}  


key 关键帧时间比率列表。通常介于0.0和1.0之间的浮点数,包括0.0和1.0。
keyValue 浮点数值的列表,对应于上面的列表。

事件  
set_fraction eventIn SFFloat
动画的完成比率。
value_changed eventOut MFFloat
与比率相对应的浮点数值。

说明
ScalarInterpolator节点允许对单精度浮点数进行动画关键帧的插值操作。建立插值器时,为动画的不同完成比率设置相应的浮点数(最好包括开始值和结束值)。
通常坐标插值器从时间传感器接收set_fraction事件,经处理后,将输出值发送给类型为单精度浮点数的域。如intensity和radius。

Script节点

Script {
 
url [ ] # exposed field MFString
mustEvaluate FALSE # SFBool
directOutpur FLASE # SFBool


以下域可由用户定义任意多个:

eventIn eventTypeName eventName
field
fieldTypeName
fieldName initialValue
eventOut
eventTypeName
eventName


url 脚本的URL或脚本。可能有多个值,浏览器执行第一个它 理解的脚本。
mustEvaluate 指出当浏览器不再需要脚本的输出时是否还要给脚本发输人事件。若为FALSE,浏览器有时可以提高其性能,因为当没有其它节点需要脚本的输出事件时,浏览器可以不发事件给脚本。除非脚本做了诸如访问网络这样一些浏览器无法识别的事,否则应该保留FALSE。
directOutpur 指出是否允许脚本直接改变场景节点和动态地建立或删除通路。换句话说,就是指出脚本是否只能通过事件的方法来与世界联系。如果不是十分必要的话,应设为FALSE,可便于浏览器对场景进行优化。

事件
Script 节点不能包含内置事件,但对于整个Script节点的输入输出事件可定义任意多个事件。

说明
一个Script节点包含一个叫作script的程序。这个程序是以javascript或Java写的。脚本可以接受事件,处理事件中的信息,还可以产生基于处理结果的输出事件。
当一个Script节点接受一个输入事件时,它将事件的值和时间戳传给与输人事件同名的函数或方法。函数可以通过赋值给与事件同名的变量发送事件。一个输出事件与调用发出输出事件函数的输入事件有相同的时间戳。
当一个脚本给另一个节点发出多个具有相同时间戳的事件时,另一个节点的类型将决定处理事件的顺序。总而言之,这个处理过程最接近用户期望的顺序。例如,如果用户的脚本向某个ViewPoint节点发出有相同时间戳的set_position和set_bind事件,浏览器在激活该视点之前会重新设置观点的位置。大多数情况下,用户最好忽略时间戳。
一些脚本语言(包括Java,javascript)定义了有特殊意义的函数和方法。例如,如果用户提供了一个叫initialize()的函数,则当世界被装入时,首先调用这个函数。另外,如有shutdown()函数,则在删除世界时调用(例如当用户用Anchor选择了另一个世界时)。eventsProcessed()函数在一个或多个eventIn函数完成后被调用(由浏览器决定是完成每个eventIn函数后调用还是等所有输人事件都处理完了再调用)。

Shape节点

Shape {  
appearance NULL # exposed field SFNode
geometry NULL # exposed field SFNode
}  


appearance 包含一个Appearance节点。
geometry 包含一个几何节点(如:Box、Cone、IndexedFaceSet、PointSet)。

说明
将Appearance指定的材质和质感应用到geometry域的几何节点

Sound节点

Sound {  
source NULL # exposed field SFNode
intensity 1 # exposed field SFFloat
priority 0 # exposed field SFFloat
location 0 0 0 # exposed field SFVec3f
direction 0 0 1 # exposed field SFVec3f
minFront 1 # exposed field SFFloat
maxFront 10 # exposed field SFFloat
minBack 1 # exposed field SFFloat
maxBack 10 # exposed field SFFloat
spatialize TRUE # SFBool
}  



source 包含一个AudioClip或MovieTexture节点。若没有指定,将不发出声音。
intensity 声源的强度,0为最小值,1为最大值。在有些浏览器中最大值可以超过1。
priority 指出声音的优先级。若为背景音乐,则设为0。
location 声源的坐标。
direction 指定椭球的长轴方向。
minFront 声源坐标点至内椭圆球前部端点的距离。
maxFront 声源坐标点至外椭圆球前部端点的距离。
minBack 声源坐标点至内椭圆球后部端点的距离。。
maxBack 声源坐标点至外椭圆球后部端点的距离。
spatialize 指出声音是作为空间点播放(TRUE),还是作为环境声播放(FALSE)。

说明
minBack和minFront域定义一个内椭圆;maxBack和maxFront域定义一个外椭圆。
在内椭圆区域内声音为最大值;在外椭圆区域外没有声音;在内外椭圆之间的区域内,其声音按距离衰减。
声音能否同时播放,由浏览器决定。

Sphere节点

Sphere {
 
radius
1
# SFFloat
}
 


radius 球的半径。

说明
Sphere是一个代表球的几何节点。缺省时,球以原点为圆心,以1为半径。
当一个纹理图应用到一个球上时,缺省的纹理将覆盖整个表面,从球体后面逆时针铺开。纹理在yz平面的后面缝合。由于浏览器功能的不同,在使用某些浏览器时,从内部观察球体是不可见的。不要把观察点放到球体内。如果希望看到几何体的内部,使用IndexedFaceSet,将其中solid设为FLASE。

SphereSensor节点

SphereSensor {  
enabled TRUE # exposed field SFBool
offset 0 1 0 0 # exposed field SFRotation
autoOffset TRUE # exposed field SFBool
}  


enabled 表示传感器当前是否检测定点设备的事件。可向该传感器发送一个值为FALSE的set_enabled时间来关闭它。
offset 在一次拖动后,相关几何体相对于初始位置的旋转角度。
autoOffset 设置为TRUE,表示在拖动结束时,将当前的方位值存储到offset中,若autoOffset设置为FALSE,在用户每次开始一个新的托动时,几何体复位到初始值。

事件
inActive eventOut SFBool
指出用户是否在拖动与传感器相关的几何体。
trackPoint_changed eventOut SFVec3f
用户在拖动过程中任意时刻定点设备在假想的球体表面上的实际位置。
rotation_changed eventOut SFRotation
用户在拖动过程中任意时刻假想球体的当前朝向。

说明
SphereSensor节点将二维的拖动解释为三维空间中绕局部原点的旋转。若在该节点的兄弟几何体处按下鼠标,浏览器会以点击鼠标的点到原点的距离为半径作一个想象中的球。随后的拖动将解释为旋转球体。

SpotLight节点

SpotLight {  
on TRUE # exposed field SFBool
intensity 1 # exposed field SFFloat
ambientIntensity 0 # exposed field SFFloat
color 1 1 1 # exposed field SFColor
location 0 0 0 # exposed field SFVec3f
direction 0 0 -1 # exposed field SFVec3f
beamWidth 1.570796 # exposed field SFFloat
cutOffAngle 0.785398 # exposed field SFFloat
radius 100 # exposed field SFFloat
attenuation 1 0 0 # exposed field SFVec3f
}
 


on 指出灯是否打开。
intensity 光源的强度。
ambientIntensity 光源对环境光的贡献。
color 光源的颜色。
location 光源的位置。
direction 光圆锥轴的方向。
beamWidth 光圆锥对应的角度(以弧度为单位)。该角度外,光的强度减弱。
cutOffAngle 光源的遮挡角。
radius 光源的射程。
attenuation 光源的衰减度。域中的第一个数表示常数衰减;第二个数表示对距离线性衰减;第三个数表示对距离平方衰减。对距离平方衰减是三种衰减中最接近现实的,但也是计算最慢的。

说明
一个SpotLight节点定义两个光圆锥:一个光圆锥的顶角等于beamWidth、高等于radius,在其内部光强最大;另一个光圆锥与前一个共轴,顶角等于cutOffAngle,光强从内圆锥表面到外圆锥表面逐渐衰减,直至为零。

Switch节点

Switch {
 
whichChoice -1 # exposed field SFInt32
choice [ ] # exposed field MFNode
}  


whichChoice 活动子项的标号。choice域中的第一个活动子项的标号是0。如果whichChoice的值小于0或者大于choice域中的项目数,那么不选中任何子项。
choice 包含该组节点的各个子项。每个子项有一个隐含的序号。第一个子项的隐含序号为0。

说明
Switch组节点激活choice域中指定的零个或一个子项。非活动子项被忽略。但是,无论是否被激活,Switch节点的所有子项都对事件作出反应。
发表评论:
昵称 *

邮箱 *

评论* (最长不超过500汉字)