Gracias Gracias:  0
Resultados 1 al 1 de 1

Tema: Optimizacion de modelos 3D en VRML

  1. #1
    Miembro Nuevo
    Fecha de ingreso
    Feb 2009
    Mensajes
    1

    Post Optimización de modelos 3D en VRML

    Hola a tod@s, necesito ayuda con un modelo 3D en VRML que estoy haciendo (si, todavía no me he pasado al x3D).
    Quiero optimizarlo dado el gran volumen de polígonos texturizados que contiene. Se trata de un edificio y su entorno.
    Tengo modelizado el interior y el exterior en ficheros .wrl distintos. Estos a su vez "llaman" a otros ficheros .wrl que
    que contienen los objetos modelizados, a través del nodo inline. Lo que quiero es que cuando el observador se encuentre fuera del edificio no se cargue
    el interior, para hacer la navegacion más rápida.
    He probado el nodo LOD (Level Of Detail) pero este se basa en intervalos de distancia respecto de un punto,
    y por lo tanto, localiza al observador por medio de esferas concentricas, con lo que tengo que rodear el interior del edificio con una esfera
    para que, mientras no me encuentre dentro de esa esfera, no se cargue el modelo del interior. Esto significa que si me acerco por fuera a una de
    las fachadas del edificio, el interior se cargara sin que este el observador dentro, y la escena se ralentiza.
    Lo que necesito entonces es algo como que un sensor ProximitySensor detecte la presencia del observador dentro del edificio y cargue entonces
    el modelo del interior.
    El sensor de visibilidad VisibilitySensor no me sirve ya que no detecta los polígonos que rodean la geometría a la que se aplica el sensor, de manera
    que cada vez que el observador mira en dirección al edificio, se carga el interior, aunque estemos fuera.
    En el fichero principal, el que llama al modelo interior y al modelo exterior, es donde tendría que estar el script, o el sensor, que permitiera cargar
    el interior solo cuando estamos dentro del edificio. El problema es encontrar la forma de que el código VRML que llama al modelo interior, no sea leído, o no se ejecute
    hasta que el observador este dentro del edificio.
    Este es el código que llama al interior

    DEF interior Transform {
    children [
    DEF interior Inline {
    url [ "interior.wrl" ]
    },
    ]
    }
    Mi idea era conseguir que este código no se leyera-cargara hasta que el evento isActive de un sensor de proximidad lo activara, pero
    no lo he logrado.
    Por otra parte encontré esto, que podría adaptarse para hacer lo que necesito:

    DEF car_position Transform {
    translation -4 2 0
    }
    Transform {
    translation -1.5 .5 4.5
    children [
    Shape {
    appearance appearance {
    material Material { emissiveColor 0 0 .6 }
    }
    geometry Cylinder {
    heigth 1
    bottomRadius 0.5
    }
    }
    DEF car_touch TouchSensor {}
    ]
    }

    DEF add_car Script {
    field SFBool pointer_over FALSE
    field SFBool done FALSE
    field MFString car_url "p51.wrl"
    field SFNode car_pos USE car_position
    eventIn SFBool isClicked
    eventIn SFBool isOver
    url "javascript:
    function isClicked(button_pos) {
    // the following two if statements should be combined
    // together with && but cosmoplayer did not like it -bug
    if(button_pos == 0)
    {
    if((pointer_over == 1) && (done == 0))
    {
    Browser.createVRMLFromURL(car_url,
    car_pos, "add_children");
    done = 1;
    }
    }
    }
    function isOver(value) {
    if(value == 0)
    pointer_over = 0;
    else
    pointer_over = 1;
    }
    "
    }

    # The car addition routes
    ROUTE car_touch.isActive TO add_car.isClicked
    ROUTE car_touch.isOver TO add_car.isOver

    ************************************************** ****
    Este código carga un coche a partir de un touch sensor. Pero no me funciona. Primero me dice que add_children is not a field of Script.
    Si le quito las comillas a add_children, se abre el .wrl pero al pinchar en el cilindro me dice add_children is not defined
    No entiendo nada. Alguien puede ayudarme?
    Gracias de antemano
    Última edición por anmusan; 07-02-2009 a las 13:20

Temas similares

  1. Cuello de botella, mala optimizacion RaM y GRaFICa
    Por LT Anibal en el foro Hardware
    Respuestas: 6
    Último mensaje: 15-04-2013, 15:26
  2. tecnicas de producion y optimizacion
    Por snake87 en el foro Postproducción
    Respuestas: 0
    Último mensaje: 10-07-2012, 21:27
  3. Optimizacion
    Por SR.MUERTE en el foro Modelado
    Respuestas: 2
    Último mensaje: 08-09-2010, 15:59
  4. optimizacion de tarjeta grafica
    Por veraxon en el foro Hardware
    Respuestas: 2
    Último mensaje: 04-05-2010, 19:32
  5. Optimizacion equipo
    Por Hulkong en el foro Hardware
    Respuestas: 14
    Último mensaje: 09-04-2009, 20:09

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •