Viewpoint节点 |
||
Viewpoint { | ||
position | 0 0 10 | # exposed field SFVec3f |
orientation | 0 0 0 1 | # exposed field SFRotation |
fieldOfView | 0.785398 | # exposed field SFFloat |
description | " " | # SFStreing |
jump | TRUE | # exposed field SFBool |
} |
||
域 | ||
position | 在局域坐标系中,指定Viewpoint节点的相对位置。 | |
orientation | 指定一个相对于缺省方向旋转的视点方向。缺省方向是沿z轴负方向、x轴正向指向右和y轴正向指向正上方。视点的位置和方向受上层变换的影响。 | |
fieldOfView | 以弧度为单位指定一个视图域。小的角度产生类似远焦镜头的效果;大的角度产生类似广角镜头的效果;视图域应该大于0,小于丌;缺省值相当于45度。 | |
description | 标识一个可以通过视点菜单或其它设备被公开访问的视点。若没有description,该视点不会出现在流览器的GUI中。当用户在GUI中选择一个视点时,浏览器或者逐渐移动到新位置,或者直接跳到这个新位置。一旦到达该位置,将发出isBound和bindTime。事件。 | |
jump | 表明在视点位置变化时,例览器是否立刻将观察者移动到新位置。若为TRUE的话,将立刻跳到新位置,不经过前后两个位置之间的任何空间。 | |
事件 | ||
set_bind |
eventln SFBool 发出一个值为TRUE的该事件将该Viewpoint节点激活,使之成为场景当前的Viewpoint节点。 |
|
bindTime | eventOut SFTime 视点被激活的时间。该输出事件用来在一个给定视点被激活时开始运行一个动画或脚本。 |
|
isBound | eventOut SFBool 当浏览器到达一个指定的视点并被激活时,该事件值为TRUE。 |
|
说明 | ||
视点定义了处于局部坐标系中的一个指定位置,用户可以从该点来观察场景。 视点可以被放置在VRML世界中来指定在刚刚进入场景中的观察者的初始位置。例如:URL语法“…/scene.wrl#EastGate”指出当用户进入scene.wrl世界时的初始位置是scene.wrl文件中 DEF EastGate Viewpoint {…}定义的地方。 浏览器保存一个Viewpoint节点的堆栈。谁栈的顶部的Viewpoint节点是当前激活视点。如果要将一个视点压到Viewpoint节点堆栈的顶部,就要送一个TRUE给该节点的set_bind输入事件。该视点一旦被激活,浏览器窗口中的景物也做相应变化。给set_bind事件发送FALSE值将会从堆栈中弹出Viewpoint节点,激活栈中的下一个视点或默认视点。 可以先激活一个观点,再移动这个视点使用户视图不断变化。 |
主页 | 节点说明 | 来信 |