Plusieurs animations ordonnées en VRML

N'en posez pas trop, spas ? C'est chez web3d-fr, la technique. Ici, c'est juste dépannage.

Re: Plusieurs animations ordonnées en VRML

Messagepar Taranis » Ven 11 Déc 2009 18:30

Arsène a écrit:Et le TouchSensor de l'anim2 ne devrait être enabled que à la fin de l'anim1, n'est-ce pas ?


Dans l'idéal oui.
Avatar de l’utilisateur
Taranis
Voyageur du mois
Voyageur du mois
 
Messages: 2390
Inscrit le: Mer 15 Sep 2004 11:19

Re: Plusieurs animations ordonnées en VRML

Messagepar Arsène » Ven 11 Déc 2009 18:33

Taranis a écrit:
Arsène a écrit:Et le TouchSensor de l'anim2 ne devrait être enabled que à la fin de l'anim1, n'est-ce pas ?


Dans l'idéal oui.

Ça doit vouloir dire que ce n'est pas encore le cas...
Avatar de l’utilisateur
Arsène
 
Messages: 4201
Inscrit le: Mer 08 Sep 2004 22:35
Localisation: Paris

Re: Plusieurs animations ordonnées en VRML

Messagepar Taranis » Ven 11 Déc 2009 18:47

Oui, pour le moment ce n'est pas le cas.
Avatar de l’utilisateur
Taranis
Voyageur du mois
Voyageur du mois
 
Messages: 2390
Inscrit le: Mer 15 Sep 2004 11:19

Re: Plusieurs animations ordonnées en VRML

Messagepar Arsène » Ven 11 Déc 2009 19:00

Taranis a écrit:Oui, pour le moment ce n'est pas le cas.

T'as bien mis sur la ligne suivante le enabled de TouchSensor02-SENSOR initialement à FALSE ?

Code: Tout sélectionner
DEF TouchSensor02-SENSOR TouchSensor { enabled FALSE }      #### 2009-12-11

Le Script fait en sorte que Box01-TIMER.isActive soit envoyé inversé à TouchSensor02-SENSOR.enabled ; quand Box01-TIMER.isActive envoie TRUE, TouchSensor02-SENSOR.enabled reçoit FALSE et quand il envoie FALSE -> TRUE.
Avatar de l’utilisateur
Arsène
 
Messages: 4201
Inscrit le: Mer 08 Sep 2004 22:35
Localisation: Paris

Re: Plusieurs animations ordonnées en VRML

Messagepar Taranis » Sam 12 Déc 2009 8:33

J'ai copié le code que tu as modifié : la ligne dont tu parles et le TouchSensor02-SENSOR est bien à FALSE initialement.

Peut-être cette ligne-ci pose interfère-t-elle avec ?
Code: Tout sélectionner
ROUTE TouchSensor02-SENSOR.isActive TO TouchSensor02-SENSOR.enabled
Avatar de l’utilisateur
Taranis
Voyageur du mois
Voyageur du mois
 
Messages: 2390
Inscrit le: Mer 15 Sep 2004 11:19

Re: Plusieurs animations ordonnées en VRML

Messagepar Arsène » Sam 12 Déc 2009 9:12

Taranis a écrit:J'ai copié le code que tu as modifié : la ligne dont tu parles et le TouchSensor02-SENSOR est bien à FALSE initialement.

Peut-être cette ligne-ci pose interfère-t-elle avec ?
Code: Tout sélectionner
ROUTE TouchSensor02-SENSOR.isActive TO TouchSensor02-SENSOR.enabled


Dans le doute, tu peux la mettre en commentaire et je pense que à la place ce ROUTE aurait un effet similaire

Code: Tout sélectionner
ROUTE Box02-TIMER.isActive TO TouchSensor02-SENSOR.enabled

envoyer un FALSE à la fin du cycle au lieu de quand le bouton de la souris est relâché.

Peut-être même mieux que similaire, puisque ça désactiverait le TouchSensor de tout ceux qui ont vu l'animation au lieu de ne désactiver que le TouchSensor de celui qui a cliqué dessus.
Avatar de l’utilisateur
Arsène
 
Messages: 4201
Inscrit le: Mer 08 Sep 2004 22:35
Localisation: Paris

Re: Plusieurs animations ordonnées en VRML

Messagepar Taranis » Sam 12 Déc 2009 11:20

Arsène a écrit:
Dans le doute, tu peux la mettre en commentaire et je pense que à la place ce ROUTE aurait un effet similaire

Code: Tout sélectionner
ROUTE Box02-TIMER.isActive TO TouchSensor02-SENSOR.enabled


Peut-être même mieux que similaire, puisque ça désactiverait le TouchSensor de tout ceux qui ont vu l'animation au lieu de ne désactiver que le TouchSensor de celui qui a cliqué dessus.


Oui, l'effet est similaire. Cependant , on peut toujours cliquer et lancer l'animation 2 pendant que l'animation 1 est en train de jouer (que l'on soit le cliqueur ou un autre).

Peut-être peut-on poser le problème différement : celui qui clique/joue l'animation 1 empêche tous les autres de jouer l'animation 2 ( dans le cas précis dont je parle celui qui joue l'animation 1 a un viewpoint bind, il ne peut donc pas jouer l'animation 2).
Avatar de l’utilisateur
Taranis
Voyageur du mois
Voyageur du mois
 
Messages: 2390
Inscrit le: Mer 15 Sep 2004 11:19

Re: Plusieurs animations ordonnées en VRML

Messagepar Arsène » Sam 12 Déc 2009 12:17

Code: Tout sélectionner
    #VRML V2.0 utf8



    PROTO BlaxxunZone [
    eventIn         MFNode   addEvents
    eventIn         MFNode   removeEvents
    exposedField    MFNode   events []
    exposedField    MFNode   avatars []
    eventOut        MFNode   events_added
    eventOut        MFNode   events_removed

    eventIn         SFInt32  set_myAvatarGesture
    eventIn         SFInt32  myAvatarGestureFromServer
    eventOut        SFInt32  myAvatarGesture_changed
    eventOut        SFInt32  myAvatarGestureToServer


    exposedField    MFString sendToChat ""
    exposedField    SFFloat  beamToDistance 3
    exposedField    MFString groupChatName ""
    exposedField    MFString groupChat ""
    exposedField    SFString myAvatarName ""
    exposedField    MFNode   avatarLOD []
    exposedField    MFFloat  avatarRange []
    eventIn         MFNode   addAvatars
    eventOut  MFNode   avatars_added
    eventIn   MFNode   removeAvatars
    eventOut  MFNode   avatars_removed
    ]

    {
    DEF S Script {
    eventOut MFNode avatars_added IS avatars_added
    eventOut MFNode avatars_removed IS avatars_removed
    eventIn SFInt32  set_myAvatarGesture IS set_myAvatarGesture
    eventIn SFInt32  myAvatarGestureFromServer IS myAvatarGestureFromServer
    eventOut SFInt32  myAvatarGesture_changed IS myAvatarGesture_changed
    eventOut SFInt32  myAvatarGestureToServer IS myAvatarGestureToServer
    eventIn MFNode addAvatars IS addAvatars
    eventIn MFNode removeAvatars IS removeAvatars

    url "vrmlscript:
    function addAvatars(value, time) { avatars_added = value; }
    function removeAvatars(value, time) { avatars_removed = value; }
    function set_myAvatarGesture(value, time) { myAvatarGestureToServer = value; }
    function myAvatarGestureFromServer(value, time) { myAvatarGesture_changed = value; }

    "
    }
    }

    PROTO SharedEvent [
    exposedField SFString    name "event"
    exposedField SFString    type      "SFTime"
    exposedField SFString    toNickname     ""
    exposedField SFString    toGroup   ""
    eventIn   SFBool    boolFromServer
    eventIn   SFColor   colorFromServer
    eventIn   SFFloat   floatFromServer
    eventIn   SFInt32   int32FromServer
    eventIn   SFRotation     rotationFromServer
    eventIn   SFString  stringFromServer
    eventIn   SFTime    timeFromServer
    eventIn   SFVec2f   vec2fFromServer
    eventIn   SFVec3f   vec3fFromServer
    eventOut  SFBool    boolToServer
    eventOut  SFColor   colorToServer
    eventOut  SFFloat   floatToServer
    eventOut  SFInt32   int32ToServer
    eventOut  SFRotation     rotationToServer
    eventOut  SFString  stringToServer
    eventOut  SFTime    timeToServer
    eventOut  SFVec2f   vec2fToServer
    eventOut  SFVec3f   vec3fToServer
    eventIn   SFBool    set_bool
    eventIn   SFColor   set_color
    eventIn   SFFloat   set_float
    eventIn   SFInt32   set_int32
    eventIn   SFRotation     set_rotation
    eventIn   SFString  set_string
    eventIn   SFTime    set_time
    eventIn   SFVec2f   set_vec2f
    eventIn   SFVec3f   set_vec3f
    eventOut  SFBool    bool_changed
    eventOut  SFColor   color_changed
    eventOut  SFFloat   float_changed
    eventOut  SFInt32   int32_changed
    eventOut  SFRotation     rotation_changed
    eventOut  SFString  string_changed
    eventOut  SFTime    time_changed
    eventOut  SFVec2f   vec2f_changed
    eventOut  SFVec3f   vec3f_changed
    eventOut  SFBool    initialized
    ]
    {
    Script {
    eventIn   SFBool    boolFromServer IS   boolFromServer
    eventIn   SFColor   colorFromServer     IS   colorFromServer
    eventIn   SFFloat   floatFromServer     IS   floatFromServer
    eventIn   SFInt32   int32FromServer     IS   int32FromServer
    eventIn   SFRotation     rotationFromServer  IS   rotationFromServer
    eventIn   SFString  stringFromServer    IS   stringFromServer
    eventIn   SFTime    timeFromServer      IS   timeFromServer
    eventIn   SFVec2f   vec2fFromServer     IS   vec2fFromServer
    eventIn   SFVec3f   vec3fFromServer     IS   vec3fFromServer
    eventOut  SFBool    boolToServer   IS   boolToServer
    eventOut  SFColor   colorToServer  IS   colorToServer
    eventOut  SFFloat   floatToServer  IS   floatToServer
    eventOut  SFInt32   int32ToServer  IS   int32ToServer
    eventOut  SFRotation     rotationToServer    IS   rotationToServer
    eventOut  SFString  stringToServer      IS   stringToServer
    eventOut  SFTime    timeToServer   IS   timeToServer
    eventOut  SFVec2f   vec2fToServer  IS   vec2fToServer
    eventOut  SFVec3f   vec3fToServer  IS   vec3fToServer
    eventIn   SFBool    set_bool  IS   set_bool
    eventIn   SFColor   set_color      IS   set_color
    eventIn   SFFloat   set_float      IS   set_float
    eventIn   SFInt32   set_int32      IS   set_int32
    eventIn   SFRotation     set_rotation   IS   set_rotation
    eventIn   SFString  set_string     IS   set_string
    eventIn   SFTime    set_time  IS   set_time
    eventIn   SFVec2f   set_vec2f      IS   set_vec2f
    eventIn   SFVec3f   set_vec3f      IS   set_vec3f
    eventOut  SFBool    bool_changed   IS   bool_changed
    eventOut  SFColor   color_changed  IS   color_changed
    eventOut  SFFloat   float_changed  IS   float_changed
    eventOut  SFInt32   int32_changed  IS   int32_changed
    eventOut  SFRotation     rotation_changed    IS   rotation_changed
    eventOut  SFString  string_changed      IS   string_changed
    eventOut  SFTime    time_changed   IS   time_changed
    eventOut  SFVec2f   vec2f_changed  IS   vec2f_changed
    eventOut  SFVec3f   vec3f_changed  IS   vec3f_changed
    eventOut  SFBool    initialized    IS   initialized
    url "vrmlscript:
    function initialize( time ) { initialized = TRUE;}
    function boolFromServer (value, time) { bool_changed = value; }
    function colorFromServer (value, time) { color_changed = value; }
    function floatFromServer (value, time) { float_changed = value; }
    function int32FromServer (value, time) { int32_changed = value; }
    function rotationFromServer (value, time) {rotation_changed = value; }
    function stringFromServer (value, time) { string_changed = value; }
    function timeFromServer (value, time) { time_changed = time; }
    function vec2fFromServer (value, time) { vec2f_changed = value; }
    function vec3fFromServer (value, time) { vec3f_changed = value; }
    function set_bool (value, time) { boolToServer = value; }
    function set_color (value, time) { colorToServer = value; }
    function set_float (value, time) { floatToServer = value; }
    function set_int32 (value, time) { int32ToServer = value; }
    function set_rotation (value, time) { rotationToServer = value; }
    function set_string (value, time) { stringToServer = value; }
    function set_time (value, time) { timeToServer = value; }
    function set_vec2f (value, time) { vec2fToServer = value; }
    function set_vec3f (value, time) { vec3fToServer = value; }
    "
    }
    }

    DEF SharedZone BlaxxunZone {
    events [
        DEF sharedAnim1 SharedEvent{ name "sanim1" }
      DEF sharedAnim2 SharedEvent{ name "sanim2" }
    ]
    }




    DEF OneShot Script {
    eventIn SFTime touchTime_in
    eventIn SFTime set_time
    eventOut SFTime touchTime_out
    eventOut SFTime time_changed
    field SFBool touched FALSE
    field SFBool done FALSE
    url "javascript:
    function touchTime_in(value, time) {
    if (!touched) {
    touched = true; // bloque le touchTime
    touchTime_out = time;
    }
    }
    function set_time(value, time) {
    if (!done) {
    done = touched = true; // bloque le touchTime et le shared event
    time_changed = time;
    }
    }
    "
    }


    DEF OneShot2 Script {
    eventIn SFBool active_in                #### 2009-12-11
    eventIn SFTime touchTime_in
    eventIn SFTime set_time
    eventOut SFBool active_out                #### 2009-12-11
    eventOut SFTime touchTime_out
    eventOut SFTime time_changed
    field SFBool touched FALSE
    field SFBool done FALSE
    url "javascript:
    function active_in(value) {               //// 2009-12-11
    active_out = !value;                  //// 2009-12-11
    }                        //// 2009-12-11
    function touchTime_in(value, time) {
    if (!touched) {
        touched = true; // bloque le touchTime
        touchTime_out = time;
    }
    }
    function set_time(value, time) {
    if (!done) {
        done = touched = true; // bloque le touchTime et le shared event
        time_changed = time;
    }
    }
    "
    }


    DEF Camera01 Viewpoint {
    position -251.5 144.7 253.6
    orientation 0.3109 0.9399 0.1413 -0.9006
    fieldOfView 0.6024
    description "Camera01"
    }
    DEF Dummy01 Transform {
    translation 44.16 0 96.08
    children [
    DEF Dummy01-TIMER TimeSensor { loop FALSE cycleInterval 3.333 },
    DEF Dummy01-POS-INTERP PositionInterpolator {
    key [0, 0.03, 0.06, 0.09, 0.12, 0.15, 0.18, 0.21, 0.24, 0.27, 0.3,
        0.33, 0.36, 0.39, 0.42, 0.45, 0.48, 0.51, 0.54, 0.57, 0.6,
        0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 0.81, 0.84, 0.87, 0.9,
        0.93, 0.96, 0.99, 1, ]
    keyValue [44.16 0 96.08, 44.88 0 95.17, 46.97 0 92.52, 50.34 0 88.24,
      54.92 0 82.43, 60.6 0 75.22, 67.31 0 66.71, 74.96 0 57.01,
      83.45 0 46.24, 92.7 0 34.5, 102.6 0 21.91, 113.1 0 8.576,
      124.1 0 -5.387, 135.6 0 -19.87, 147.3 0 -34.76, 159.3 0 -49.95,
      171.4 0 -65.32, 183.6 0 -80.76, 195.7 0 -96.17, 207.7 0 -111.4,
      219.6 0 -126.4, 231.1 0 -141.1, 242.3 0 -155.2, 252.9 0 -168.8,
      263.1 0 -181.6, 272.6 0 -193.7, 281.3 0 -204.8, 289.3 0 -214.8,
      296.3 0 -223.8, 302.3 0 -231.4, 307.3 0 -237.7, 311.1 0 -242.5,
      313.6 0 -245.7, 314.8 0 -247.2, 314.9 0 -247.3, ] },
    DEF Box01 Transform {
      translation -9.954 0 -78.99
      children [
    DEF Box01-TIMER TimeSensor { loop TRUE cycleInterval 3.333 },
      DEF Box01-POS-INTERP PositionInterpolator {
        key [0, 0.72, 0.75, 0.78, 0.81, 0.84, 0.87, 0.93, 0.96, 0.99,
            ]
        keyValue [-9.954 0 -78.99, -9.954 0 -78.99, -9.954 0 -78.99,
          -9.954 0 -78.99, -9.954 0 -78.99, -9.954 0 -78.99,
          -9.954 0 -78.99, -9.954 0 -78.99, -9.954 0 -78.99,
          -9.954 0 -78.99, ] },
      DEF Box01-ROT-INTERP OrientationInterpolator {
        key [0, 0.03, 0.06, 0.09, 0.12, 0.15, 0.18, 0.21, 0.24, 0.27,
            0.3, 0.33, 0.36, 0.39, 0.42, 0.45, 0.48, 0.51, 0.54, 0.57,
            0.6, 0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 0.81, 0.84, 0.87,
            0.9, 0.93, 0.96, 0.99, 1, ]
        keyValue [1 0 0 0, 0 0 1 -0.05789, 0 0 1 -0.1238, 0 0 1 -0.1933,
          0 0 1 -0.2617, 0 0 1 -0.3246, 0 0 1 -0.3775,
          0 0 1 -0.4158, 0 0 1 -0.435, 0 0 1 -0.431, 0 0 1 -0.4049,
          0 0 1 -0.3613, 0 0 1 -0.3046, 0 0 1 -0.2393,
          0 0 1 -0.17, 0 0 1 -0.1012, 0 0 1 -0.03748, 0 0 -1 -0.01812,
          0 0 -1 -0.0792, 0 0 -1 -0.1468, 0 0 -1 -0.2164,
          0 0 -1 -0.2835, 0 0 -1 -0.3436, 0 0 -1 -0.3921,
          0 0 -1 -0.4245, 0 0 -1 -0.4363, 0 0 -1 -0.4245,
          0 0 -1 -0.3921, 0 0 -1 -0.3436, 0 0 -1 -0.2835,
          0 0 -1 -0.2164, 0 0 -1 -0.1468, 0 0 -1 -0.0792,
          0 0 -1 -0.01812, 1 0 0 0, ] },
          Transform {
            translation 0 21.29 0
            children [
              Shape {
                appearance Appearance {
                  material Material {
                    diffuseColor 0.8784 0.3373 0.3373
                  }
                }
                geometry Box { size 38.25 42.58 40.84 }
              }
        ] }
    DEF TouchSensor01-SENSOR TouchSensor { enabled TRUE }
      ]
    }
    ]
    ROUTE Dummy01-TIMER.fraction_changed TO Dummy01-POS-INTERP.set_fraction
    ROUTE Dummy01-POS-INTERP.value_changed TO Dummy01.set_translation
    ROUTE Dummy01-TIMER.fraction_changed TO Box01-POS-INTERP.set_fraction
    ROUTE Box01-POS-INTERP.value_changed TO Box01.set_translation
    ROUTE Dummy01-TIMER.fraction_changed TO Box01-ROT-INTERP.set_fraction


    #add
    ROUTE Box01-TIMER.fraction_changed TO Box01-ROT-INTERP.set_fraction
    ROUTE Box01-ROT-INTERP.value_changed TO Box01.set_rotation
    #/



    }
    DEF Box02 Transform {
    translation -23.87 0 -14.92
    children [
    DEF Box02-TIMER TimeSensor { loop FALSE cycleInterval 3.333 },
    DEF Box02-POS-INTERP PositionInterpolator {
    key [0, 0.03, 0.06, 0.09, 0.12, 0.15, 0.18, 0.21, 0.24, 0.27, 0.3,
        0.33, 0.36, 0.39, 0.42, 0.45, 0.48, 0.51, 0.54, 0.57, 0.6,
        0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 0.81, 0.84, 0.87, 0.9,
        0.93, 0.96, 0.99, 1, ]
    keyValue [-23.87 0 -14.92, -23.87 3.237 -14.92, -23.87 11.51 -14.92,
      -23.87 22.66 -14.92, -23.87 34.52 -14.92, -23.87 44.95 -14.92,
      -23.87 51.79 -14.92, -23.87 52.6 -14.92, -23.87 43.53 -14.92,
      -23.87 26.88 -14.92, -23.87 6.435 -14.92, -23.87 -14.01 -14.92,
      -23.87 -30.66 -14.92, -23.87 -39.73 -14.92, -23.87 -37.29 -14.92,
      -23.87 -23.01 -14.92, -23.87 -1.221 -14.92, -23.87 23.58 -14.92,
      -23.87 46.87 -14.92, -23.87 64.15 -14.92, -23.87 70.92 -14.92,
      -23.87 63.96 -14.92, -23.87 46.19 -14.92, -23.87 22.23 -14.92,
      -23.87 -3.266 -14.92, -23.87 -25.68 -14.92, -23.87 -40.36 -14.92,
      -23.87 -43.25 -14.92, -23.87 -39.03 -14.92, -23.87 -31.29 -14.92,
      -23.87 -21.78 -14.92, -23.87 -12.27 -14.92, -23.87 -4.531 -14.92,
      -23.87 -0.3158 -14.92, -23.87 0 -14.92, ] },
      Transform {
        translation 0 12.41 0
        children [
          Shape {
            appearance Appearance {
              material Material {
                diffuseColor 0.3451 0.6941 0.102
              }
            }
            geometry Box { size 19.67 24.81 21.58 }
          }
    ] }
    DEF TouchSensor02-SENSOR TouchSensor { enabled FALSE }      #### 2009-12-11
    ]

    # ROUTE modifiées

    ROUTE TouchSensor02-SENSOR.touchTime TO OneShot2.touchTime_in
    ROUTE OneShot2.touchTime_out TO sharedAnim2.set_time
    ROUTE sharedAnim2.time_changed TO OneShot2.set_time
    ROUTE OneShot2.time_changed TO Box02-TIMER.startTime
    ROUTE Box02-TIMER.fraction_changed TO Box02-POS-INTERP.set_fraction
    ROUTE Box02-POS-INTERP.value_changed TO Box02.set_translation


    # ROUTE originales

    #ROUTE TouchSensor02-SENSOR.touchTime   TO sharedAnim2.set_time
    #ROUTE sharedAnim2.time_changed TO Box02-TIMER.startTime
    #ROUTE Box02-TIMER.fraction_changed TO Box02-POS-INTERP.set_fraction
    #ROUTE Box02-POS-INTERP.value_changed TO Box02.set_translation
    }


    ############
    #ROUTE d'origine
    #ROUTE TouchSensor01-SENSOR.touchTime TO Dummy01-TIMER.startTime
    #ROUTE TouchSensor01-SENSOR.touchTime TO Box01-TIMER.stopTime
    #ROUTE TouchSensor01-SENSOR.isActive TO TouchSensor01-SENSOR.enabled

    #ROUTE modifiées pour SharedEvent

    # bloque le touchTime vers le serveur l'anim a été jouée
    ROUTE TouchSensor01-SENSOR.touchTime TO OneShot.touchTime_in
    ROUTE OneShot.touchTime_out TO sharedAnim1.set_time

    # bloque la réponse du serveur et le touchTime si l'anim a été jouée
    ROUTE sharedAnim1.time_changed TO OneShot.set_time
    ROUTE OneShot.time_changed TO Dummy01-TIMER.startTime
    ROUTE OneShot.time_changed TO Box01-TIMER.stopTime

    # ROUTE TouchSensor01-SENSOR.isActive TO TouchSensor01-SENSOR.enabled
    # ROUTE TouchSensor02-SENSOR.isActive TO TouchSensor02-SENSOR.enabled

    ROUTE Dummy01-TIMER.isActive TO TouchSensor01-SENSOR.enabled     #### 2009-12-12
    ROUTE Box02-TIMER.isActive TO TouchSensor02-SENSOR.enabled     #### 2009-12-12

    ROUTE Dummy01-TIMER.isActive TO OneShot2.active_in      #### 2009-12-12
    ROUTE OneShot2.active_out TO TouchSensor02-SENSOR.enabled   #### 2009-12-11


C'était le Dummy01-TIMER qu'il fallait utiliser et pas Box01-TIMER, qui est utilisé pour une 3ème animation ; comme quoi, il est utile de partir d'un code qui soit vraiment minimal pour essayer une fonctionnalité.
Avatar de l’utilisateur
Arsène
 
Messages: 4201
Inscrit le: Mer 08 Sep 2004 22:35
Localisation: Paris

Re: Plusieurs animations ordonnées en VRML

Messagepar Taranis » Mer 16 Déc 2009 19:44

Je n'avais pas pensé à cela : la première animation est située dans un fichier inline et la seconde dans un autre :)
Adieu inline ! :)
Avatar de l’utilisateur
Taranis
Voyageur du mois
Voyageur du mois
 
Messages: 2390
Inscrit le: Mer 15 Sep 2004 11:19

Précédent

Retour vers Questions techniques

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron