Erreur Action Include : Lecture de la page inclue PageMenu non autorisée.
Erreur Action Include : Lecture de la page inclue DeepMatrixMenu non autorisée.
Prepare World for deepmatrix ... :
http://deepmatrix.org/documentation/worlddeveloper.html

my solution for "viewpoint" is add this code "code init" (proto walker) to new vrml and vrmlpad
and change parameter background and viewpoint arrival
(Inlines,  MovieTextures.. must be absolute urls, ...)
(nota : proto  PrimeMOver is not necessary)

code_init

init_var
in line 35 change type : Walk ...examine ...ect

init_viewpoint
in line 428 init orientation your viempoint entry
in 429 init position entry
and Change set speed for 12 (for exemple )

The Background is in line 416

code init (proto walker) :
Viewpoint {
  position	-3.36453 8.88994 -0.78024
  orientation	0 -1 0  1.50157
  fieldOfView	0.785398
  description	"entry"
}
 PROTO Walker [
field SFBool bAnimVp FALSE
eventIn SFInt32 set_navigation
eventIn SFBool set_Wakeup
eventIn MFFloat setBeamTo
eventIn SFBool set_bind
eventIn SFBool set_navbind
eventIn SFBool vpbind
eventIn SFVec3f set_viewpoint_position
eventIn SFRotation set_viewpoint_orientation
eventOut SFTime enterTime
eventOut SFTime exitTime
eventOut SFRotation orientation_changed
eventOut SFVec3f position_changed
eventOut SFBool isBound
eventOut SFBool isVpBound
eventOut SFRotation rotation_changed
eventOut SFVec3f translation_changed
eventOut SFBool isActive
eventOut SFTime	navCycleTime
eventOut SFTime bindTime
eventOut SFTime primer_time
eventOut SFTime	ghostBindTime
eventOut SFBool	ghostIsBound
eventOut SFTime	beamBindTime
eventOut SFBool	beamIsBound
exposedField SFVec3f size 0 0 0
exposedField SFBool enabled TRUE
exposedField SFVec3f center 0 0 0
exposedField SFTime cycleInterval .4
exposedField SFString protoName "Walker"
exposedField SFFloat set_speed 3
exposedField MFString type [
"EXAMINE"
"ANY"
]
exposedField MFFloat avatarSize [
.25 1.6 .75
]
exposedField SFBool headlight TRUE
exposedField SFFloat visibilityLimit 0
exposedField SFBool jump TRUE
exposedField SFString description "Entry"
exposedField SFRotation vporientation 0 1 0 0
exposedField SFVec3f vpposition 0 0 0
exposedField SFFloat fieldOfView .785
field SFBool bAnim FALSE
eventIn SFBool setVpbind2
eventOut SFFloat navigation_info_changed
exposedField SFBool collide TRUE
exposedField SFBool masterCollide FALSE
eventOut SFBool collision_state
field SFBool bInitCollide TRUE
]
{
Group {
children [
DEF WalkNav NavigationInfo {
avatarSize IS avatarSize
headlight IS headlight
speed IS set_speed
type IS type
visibilityLimit IS visibilityLimit
set_bind IS set_navbind
isBound IS isBound
}
DEF Tms TimeSensor {
cycleInterval IS cycleInterval
}
DEF Bb ProximitySensor {
center IS center
enabled IS enabled
size IS size
enterTime IS enterTime
exitTime IS exitTime
isActive IS isActive
}
DEF EntryVp Viewpoint {
fieldOfView IS fieldOfView
jump IS jump
orientation IS vporientation
position IS vpposition
#set_bind IS vpbind
bindTime IS bindTime
isBound IS isVpBound
}
DEF GhostVp Viewpoint {
bindTime IS	ghostBindTime
isBound	IS ghostIsBound
}
DEF BeamVp Viewpoint {
bindTime IS	beamBindTime
isBound	IS beamIsBound
}
DEF BufferTms TimeSensor {
loop TRUE
}
DEF NavTms TimeSensor {
cycleTime IS navCycleTime
}
DEF WakeupTms TimeSensor {
cycleInterval .8
}
DEF WakeupOI OrientationInterpolator {
key [
0 .5 1
]
}
DEF WakeupPI PositionInterpolator {
key [
0 .5 1
]
}
DEF Sc Script {
eventIn	SFFloat	speedUpdate 
eventIn	SFBool set_headlightState
eventIn	SFBool set_collisionState
eventIn	SFBool set_masterCollisionState
eventIn	SFBool setVpbind2 IS setVpbind2
eventIn	SFBool setVpbind IS	vpbind
eventIn	SFBool reset_bool
eventIn SFBool set_bufferActive
eventIn SFBool set_Wakeup IS set_Wakeup
eventIn SFTime set_enterTime
eventIn SFBool set_navbind IS set_navbind
eventIn SFInt32 set_navigation IS set_navigation
eventIn MFFloat setBeamTo IS setBeamTo
eventIn SFBool set_active2
eventIn SFBool set_bind IS set_bind
eventIn SFBool set_active3
eventIn SFBool set_bool
eventIn SFBool set_bool2
eventIn	SFVec3f	set_viewpoint_position	IS set_viewpoint_position
eventIn	SFRotation set_viewpoint_orientation IS	set_viewpoint_orientation
eventIn SFRotation set_rotation
eventIn SFVec3f set_vec3f
eventOut SFBool	collision_state IS collision_state
eventOut SFTime primer_time IS primer_time
eventOut SFVec3f translation_changed IS translation_changed
eventOut SFRotation rotation_changed IS rotation_changed
eventOut SFVec3f position_changed IS position_changed
eventOut MFNode	nodes_changed
eventOut SFString message_changed
eventOut SFFloat navigation_info_changed IS	navigation_info_changed
eventOut SFRotation orientation_changed IS orientation_changed
directOutput TRUE
field SFString sName ""
field SFBool bAnim IS bAnim
field SFBool bAvalon FALSE
field SFBool bAnimVp IS bAnimVp
#field SFNode MCol USE MCol
field SFNode BufferTms USE BufferTms
field SFNode WakeupOI USE WakeupOI
field SFNode WakeupPI USE WakeupPI
field SFNode WakeupTms USE WakeupTms
field SFNode EntryVp USE EntryVp
field SFNode WalkNav USE WalkNav
field SFNode NavTms USE	NavTms
field SFNode GhostVp USE GhostVp
field SFNode BeamVp USE BeamVp
field SFNode Tms USE Tms
field SFNode Bb USE Bb
field SFNode Sc USE	Sc
field SFInt32 posct 0
field SFInt32 iHL 0
field SFInt32 iCL 0
field SFInt32 iMC 0
field SFBool bInitCollide IS bInitCollide
field SFRotation rot 0 0 1 0
field SFRotation rot2 0 0 1 0
field SFRotation rot3 0 0 1 0
field SFRotation rot4 0 1 0 3.14
field SFRotation rot5 0 1 0 0
field SFVec3f pos 0 0 0
field SFVec3f pos2 0 0 0
field SFVec3f pos3 0 0 4
field SFVec3f posHUD 0 0 -4
field SFVec3f pos4 0 0 -5
field SFVec3f pos5 0 0 0
field MFString OrigNav []
field SFBool bGhostHUD FALSE
field SFBool Bstate FALSE
field SFBool Tstate FALSE
field SFVec3f Halfway_pos 0 0 0
field SFRotation Halfway_rot 0 1 0 0
field SFBool Pstate FALSE
field SFBool Rstate FALSE
field SFString Navchange ""
field MFString preNav []
field MFString navtypes []
url "javascript:
function speedUpdate(v){ navigation_info_changed = v; }
function set_masterCollisionState(v){
if(!v){ navigation_info_changed = -6.0; 
	  set_navigation(13);
    }
else { navigation_info_changed = -5.0; 
	   set_navigation(12);
        }
}
function set_headlightState(v){
if(!v){ 
      navigation_info_changed = -2.0;
      iHL = 9;
            }
else { 
      navigation_info_changed = -1.0;
      iHL = 8;
      }
    }
function set_collisionState(v){
if(!MCol.collide){
if(!v){ 
       navigation_info_changed = -4.0;
       set_navigation(11);
       }
else { 
       navigation_info_changed = -3.0;
       set_navigation(10);
       }
 }
}
function set_viewpoint_position(v){ position_changed = v; translation_changed = v; }
function set_viewpoint_orientation(v){ orientation_changed = v; rotation_changed = v; }
function setVpbind2(v){ if(v){ EntryVp.set_bind = true; }}
function setVpbind(v){ if(v){ 
 collision_state = bInitCollide;
 EntryVp.set_bind = true;
 EntryVp.position = WakeupPI.keyValue[2];
 EntryVp.orientation = WakeupOI.keyValue[2];
 EntryVp.set_bind = v;
if(OrigNav[0]!='NONE'){ WalkNav.type = OrigNav;	}
if(bAnim){ 
WakeupTms.startTime = ts;
     }
   }
 }
function set_bufferActive(v,ts){
if(v){ EntryVp.set_bind = true;
if(!bAnimVp){ set_Wakeup(v,ts);} 
primer_time = ts; 
BufferTms.loop = false;}
} 
function set_Wakeup(v,ts){
sName = Browser.getName();
if(sName=='Avalon'&&WalkNav!=null){ 
bAvalon = true; 
Browser.addRoute(Sc,'nodes_changed',WalkNav,'navigator'); 
nodes_changed = Browser.createVrmlFromString('SpaceNavigator {}');
Browser.addRoute(Sc,'message_changed',Sc.nodes_changed[0],'message');
}
WakeupPI.keyValue[0] = EntryVp.position;
Halfway_pos = EntryVp.position;
Halfway_pos[1] += .3;
WakeupPI.keyValue[1] = Halfway_pos;
WakeupPI.keyValue[2] = EntryVp.position;
WakeupOI.keyValue[0] = EntryVp.orientation ;
OrigNav = WalkNav.type;
Halfway_rot = EntryVp.orientation;
Halfway_rot[3] += .1;
WakeupOI.keyValue[1] = Halfway_rot;
WakeupOI.keyValue[2] = EntryVp.orientation;
WakeupTms.startTime = ts;
}
function set_navigation(v,ts){ 
if(v<7){
if(v==0){ Navchange = 'EXAMINE'; }
if(v==1){ Navchange = 'WALK'; }
if(v==2){ Navchange = 'FLY'; }
if(v==3){ Navchange = 'FREEFLY'; }
if(v==4){ Navchange = 'LOOKAT';	}
if(v==5){ Navchange = 'PAN'; }
if(v==6){ Navchange = 'SLIDE'; }
navtypes = new MFString(Navchange);
var iCt = 1;
for( var a = 0; a<WalkNav.type.length; a +=1 ){
if(WalkNav.type[a]!=Navchange&&(WalkNav.type[a].indexOf(' ')==-1||WalkNav.type[a]=='')){
navtypes[iCt]= WalkNav.type[a]; iCt +=1;
}
}
WalkNav.type = navtypes; 
WalkNav.set_bind = true;
NavTms.startTime = ts;
  }
else {
if(bAvalon){ 
if(v==7){ message_changed = 'straightenUp'; }
if((v==8||v==9)&&v!=iHL){ message_changed = 'toggleHeadlight'; iHL = v; }
if((v==10||v==11)&&v!=iCL){ message_changed = 'toggleCollision';iCL = v; 
if(v==10){
collision_state = true;
}
if(v==11){
collision_state = false;
}
}
if(v==12){
preNav = WalkNav.type;
WalkNav.type = new MFString('WALK');
WalkNav.set_bind = true;
NavTms.startTime = ts;
if(iCL==11){ message_changed = 'toggleCollision'; 
collision_state = true;
iCL = 10;             
 }
iMC = 12;
}
if(v==13){
if(iMC==12){
WalkNav.type = preNav;
WalkNav.set_bind = true;
NavTms.startTime = ts;
}
}
}
}
}
function setBeamTo(v,ts){ 
pos5 = new SFVec3f(v[0],v[1],v[2]);
rot5 = new SFRotation(v[3],v[4],v[5],v[6]);
var vm = new VrmlMatrix();
vm.setTransform(pos4,rot4); 
var vm2 = new VrmlMatrix();
vm2.setTransform(pos5, rot5 );
vm = vm.multRight(vm2);
vm.getTransform(BeamVp.position,BeamVp.orientation);
if( Math.abs(rot5[1])<.98 ){
set_navigation( 0 );
}
else {
set_navigation( 2 );
}
BeamVp.set_bind = true;
}
function set_bind(v,ts){
Bstate = v; 
if(v){
var vm = new VrmlMatrix();
vm.setTransform(pos3,rot3); 
var vm2 = new VrmlMatrix();
vm2.setTransform(pos2, rot2 );
vm = vm.multRight(vm2);
vm.getTransform(GhostVp.position,GhostVp.orientation);
GhostVp.set_bind = true;
}
}
function set_enterTime(v){ position_changed  = pos2 = pos;  orientation_changed  = rot2 = rot; }
function set_vec3f(v,ts){ translation_changed = pos = v; Pstate = true; if(Tstate==false){ Tms.startTime = ts;}} 
function set_rotation(v,ts){ rotation_changed = rot = v; Rstate = true; if(Tstate==false){ Tms.startTime = ts;}}
function set_bool(v,ts){
Tstate = v;
if(Tstate==true&&Rstate==true&&!Bstate){
 rot2 = rot;
 orientation_changed  = rot2; 
Rstate = false;
}  
var fY = Math.abs(pos[1]-pos2[1]);
var fX = Math.abs(pos[0]-pos2[0]);
var fZ = Math.abs(pos[2]-pos2[2]);
if(Tstate==true&&Pstate==true&&!Bstate&&(.005<fY||.005<fX||.005<fZ)){
 pos2 = pos;
position_changed = pos2; 
Pstate = false;
}
}
function set_active3(v){ if(!v){ GhostVp.position = pos; GhostVp.orientation = rot; GhostVp.set_bind = true; }}
"
}
]
}
ROUTE WalkNav.speed	TO Sc.speedUpdate
ROUTE WalkNav.headlight	TO Sc.set_headlightState
ROUTE WakeupTms.fraction_changed TO WakeupOI.set_fraction
ROUTE WakeupOI.value_changed TO EntryVp.set_orientation
ROUTE WakeupTms.fraction_changed TO WakeupPI.set_fraction
ROUTE WakeupPI.value_changed TO EntryVp.set_position
ROUTE BufferTms.isActive TO Sc.set_bufferActive
ROUTE Tms.isActive TO Sc.set_bool
ROUTE Bb.orientation_changed TO Sc.set_rotation
ROUTE Bb.position_changed TO Sc.set_vec3f
}
PROTO PrimeMover [
field SFTime rate .4
eventIn SFVec3f set_position2
eventIn SFRotation set_rotation2
eventIn SFVec3f set_start_position
eventIn SFRotation set_start_rotation
eventIn MFFloat set_BeamTo
eventOut SFVec3f position_changed
eventOut SFRotation orientation_changed
eventOut SFVec3f position_changed2
eventOut SFRotation orientation_changed2
eventOut SFInt32 save_changed
exposedField SFVec3f translation 0 0 0
exposedField SFRotation rotation 0 1 0 0
exposedField SFInt32 whichChoice -1
]
{

}
Group {
children [
Fog {
visibilityRange 400
}
Background {
skyAngle [
.75 1.2 1.7 1.8 1.9 2.1 2.75 3.14
]
skyColor [
0 0 0 .1 .1 .2 .3 .2 .3 .5 .1 .2 .8 0 0 .7 .4 0 .6 .3 0 .2 .7 0 1 1 1
]
}
DEF Walk Walker {
size 1e5 1e5 1e5
set_speed 3
jump FALSE
vporientation 0 1 0 1.57
vpposition 33 .4 3
}
PrimeMover {
}
]
}

http://costoso.net/nano_deepmatrix_ver1_1/nanob.wrl