Navigation Mechanism in Virtual Scene and Its Three Model Avatar Application

In this study, we have a research of the navigation mechanism in virtual scene and its three model avatar application. Scene navigation is a very important aspect in virtual environment construct. When running VRML, we assume existence of an invisible viewer avatar in the scene. We can take this advantage for conducting collision detection. Paper first studied scene navigation mechanism in VRML, mainly about Navigation Info node and its field's value significance. Aiming at WALK, FLY, EXAMINE, ANY and NONE navigation type, we discussed theirs concrete application method and effect. Finally, incorporation with a 3D virtual scene example, study gives some research report about avatar Size space cylinder application.


INTRODUCTION
In VRML virtual scene, its navigation mechanism is that, by using a three dimension model as viewer's avatar, the operator can employ this avatar to walk around, observe up and down and also execute 3D interaction in this scene.
In VRML constructed virtual scene, Navigation Info node is used to provide the viewer's avatar information and to control this avatar how to conduct system navigation, by using current viewpoint (Drian, 2006;Manninen, 2000).

VRML SCENE NAVIGATION MECHANISM
In VRML, Navigation Info node's grammar format is described as following: Navigation Info { Head Light TRUE # exposed Field SFBool type ["WALK" "ANY"] # exposed Field MFString speed 1.0 # exposed Field SFFloat visibility Limit 0.0 # exposed Field SFFloat avatar Size [0.25 1.6 0.75] # exposed Field MFFloat set-bind # event In SFBool is Bound # event Out SFBool } In this format, its parameters' installing method is introduced below (Zhu, 2002;Huang and Liu, 1999).
First we talk about headlight field.This field's value sets system default employing avatar headlight in a scene.Its system default value is TRUE, indicating default open avatar's headlight.That is to say, in a VRML scene, we default employ this headlight source.If this field's value is set as FALSE, that means artificially close this system default headlight set up.
The system default employing avatar headlight is equal to a Directional Light node creating white color (1.0), parallel light source which intensity value is 1.0.This parallel light source will synchronous move and whirl with operator, all along pointing at explorer's viewpoint front direction.But in a scene, in which additional light source node been installed and meticulous design light effect been employed, this default system headlight set up may be seemed redundant.Sometimes it possibly has a strong impact on previous installed light effect.In this time, programmer should shut up this system default headlight.
The type field's value is to set viewer avatar's navigation type.There are five manners be chosen.They are WALK, FLY and EXAMINE ANY and NONE.Different navigation manner is applicable to different circumstances.In WALK manner, the viewer's avatar is restricted to earth surface and be impact by earth gravity.Walk manner is appropriate to visit and observe museum application type.Except no restriction to earth surface and impaction by earth gravity, FLY manner is entirely same as WALK manner.Just as flying in space, this manner is appropriate to interstellar space exploration application.In EXAMINE manner, the avatar's himself cannot walk around or remove in the scene, but can optionally change visual angle.This manner can be used to some applications, such as observing virtual chemical molecule type.ANY manner indicates browser supporting any one of above introduced three kind navigation types.However, NONE indicates not supporting any one of above introduced navigation type.It illustrates that system will not supply any special navigation type.Under this condition, VRML browser will automatically shut up every kind of navigation manner on control panel.In this condition, viewer will not have any other choice but observing scene with program fixed position and orientation.In VRML, the type field's default value is WALK and ANY, which means that the viewer's avatar possesses all navigation type and entering scene with WALK manner.
The speed field's value is to set viewer avatar's wandering speed in the scene, its unit is VRML unit per second.If adopted EXAMINE avatar type, the speed field's value will not impact on rotating speed on observe.If adopted NONE navigation type, the speed field's value is changed to 0.0.In this condition, the viewer's position will be locked, yet the viewer can also arbitrarily change its observing angle.The speed field's value is default set as 1.0 VRML unit per second.Because most of the VRML browser is provided additional control mechanism for speeding up or slowing down wandering speed, so this speed field's value is only a system default set up, or we can call it an average speed value.
The visibility Limit field's value is to install viewer avatar's maximum observe distance.If an observer can't see any object within this defined maximum observe distance, the browser will only display space background.When constructed an extremely big 3D scene, it's necessary to modify this field's value.The reason is that the arithmetic operation quantity for a big 3D scene is extraordinarily tremendous.When programming, if certain long-range perspective model need not be seen or can be neglect, we can employ this field's value to define viewer's maximum observing distance.Its default field value is 0.0, indicating the farthest position which can be seen, is the infinity distance.The visibility Limit field's value must be set greater than or equal to 0.0.
Following we will describe avatar Size field.This field value's function is to set some physique parameters used by viewer avatar.These parameters determine the viewer's movable range on proceeding collision detection and happening viewpoint variation with geography undulation.When running VRML program, we assume existence of an invisible viewer avatar in the scene.Usually we can take this advantage for conducting collision detection.There are three field's value parameters for avatar Size.The first one is to appoint the minimum 1/2 width, just the avatar's half body width, when happening collision between avatar and other object.The second one is to define the height, just the height of avatar, between avatar's view point and ground.The third one installs the highest barrier height, just the avatar's leg height, which avatar can step over.All these three parameters jointly define a space cylinder, which is shown below.These three parameters are default installed as 0.25 1.6 0.75.Figure 1 shows the defined avatar size space cylinder.
Here we should pay attention to that, if the space coordinate system scale field's value be changed, which Viewpoint node lived on, the scale field's value will impact on Navigation Info node's speed, visibility Limit, avatar Size field effect extent.
Next we will discuss set bind input event and is Bound output event.These two events are used to bind system navigation information node.So long as we dispatch a TRUE input event to appointed Navigation Info node's set bind field, this Navigation Info node will be set up as current system navigation information node.In the same time, former Navigation Info node's is Bound field will send out a FALSE output event, declaring no longer be current system navigation information node.Is Bound output event will output a TRUE event, when browser is now applying this specified navigation information node.
Usually, the first appeared Navigation Info node in a VRML document will be set as system initial navigation information node.Other Navigation Info nodes will be transformed to current navigation information node only when received set bind input event.Generally, VRML browser will preserve a node stack for Navigation Info nodes in a file.The most top node is the present activated node.To assign certain Navigation Info node's set bind input event with TRUE value, we can push this Navigation Info node up to stack summit.The activated Navigation Info node's navigation information will replace original navigation information.To assign certain Navigation Info node's set bind input event with FALSE value, we can pop up this Navigation Info node out of node stack.The following node in stack will become current navigation information node.If the stack is already empty, system will employ default Navigation Info node (Chen and Chen, 2003).

AVATAR'S NAVIGATION TYPE APPLICATION
In this part, we want to discuss the concrete application environment and effect for different navigation type, with reference to Cosmo Player's control panel.In experiment, we relatively change type field's value of Navigation Info node, to observe different function of each field's value (Xu and Liu, 2004).
In WALK type, , and buttons can't be used and flying button becomes invalid, that means viewer's avatar must be restricted to its location landform and be effected by earth gravity (Fig. 2a).
In FLY mode, and buttons can't be use and gravity button lose efficiency, that means viewer's avatar completely doesn't suffer from its location landform and not be effected by earth gravity (Fig. 2b).
In EXAMINE pattern, , and buttons can't be used and , buttons cease to be effective, that means viewer's avatar can only change its observing angle of view, but can't move at will in the scene (Fig. 2c).
In ANY way, all control panel buttons can be used, that means viewer's avatar be allowed skim through the scene, with any navigation type (Fig. 2d).
In NONE mode, all control panel buttons can't be used, that means viewer's avatar can watch scene only with totally passive way.This type can be used in some circumstances, such as interaction should be added to scene or browsing mode should be voluntarily installed (Fig. 2e).
Effect of avatar size space cylinder: By default, VRML executes collision detection for all the objects in the scene.By using this default detection, we can prevent some phenomenon from happening, such as user going right through a wall.
Following is a shortened demonstration program.Its purpose is to set default user avatar's size dimension by using avatar size field's value of Navigation Info node.Then we can allow explorer's avatar come across the left free position of foreground and obstruct by the right free position and wall.The foreground of the scene is three complete opaque walls.The width of the left free position is 3 VRML units, yet the width of right is 2 VRML units.The background of the scene is an intact wall, which rendered by a picture texture and apart from the foreground wall 20 VRML units.
In program code, the field value of avatar Size is set as (1.1 5.0 2.0).As the component of avatar Size (0) is 1.1, so the avatar's diameter is 2.2.This avatar will be obstruct by the right free position, contrarily can come across the left free position.In the mode of browser "WALK", avatar's movement will be influenced by environment and terrain.
The initial scene molding circumstances is shown in Fig. 3a.
By installing Cosmo Player plugging, users can try to push his avatar forward.When aiming to the left or right free position of foreground, we can operate Go button or Slide button in Cosmo control panel, to move or rotate scene environment.In the process of progressing through the right free position, gradually the user will be obstruct firmly, no matter whatever effort to carry out, however using his talents to fullest.The

CONCLUSION
As VRML and JAVA has the characteristics of nothing to do with system platform, the virtual avatar interactive technology is platform-independent and transplant-strong characteristics.To avoid the graphics file's direct transmission on the network, VRML uses text messages to communicate, transferring the text describing information of graphics files.By shifting complex processing tasks to the local machine, VRML system greatly reduced the network load.
The implementation mechanism of VRML dynamic interactive model is event.Events are used to transmit transformation between scenes and external language, so separate basic elements of the implementation modalities from each other.The dynamic behavior of driving scene change is executed in VRML external.Its effectiveness is to implement interactive solution simplicity and flexibility.

Fig. 3 :
Fig. 3: Invisible explorer avatar and collision detection, (a) initial scene, (b) obstruct by the right free position, (c) come across the left free position and look backobstruct scene effect is shown in Fig.3b.Figure3cdemonstrates the situation when avatar coming across from the left free position and then looking back to the foreground walls.