Gracias Gracias:  0
Página 2 de 2 PrimerPrimer 12
Resultados 16 al 20 de 20

Tema: morfer entre mayas de diferente numero de vertices

  1. #16
    H = E + L
    Fecha de ingreso
    Mar 2004
    Ubicación
    Entre dos vectores
    Mensajes
    870

    Re: morfer entre mayas de diferente número de vertices.

    Cita Iniciado por Birkov
    Repasando esa idea me acordé del script que habías hecho para plantar árboles sobre una superficie, usabas una función que trazaba un rayo desde el objeto a "plantar" a la superficie y así obtenías las coordenadas, en teoría ¿ no se podría hacer algo similar pero en vez de calcularlo por objeto hacerlo por vértice? lo único que las mallas tendrían que tener una densidad de polígonos parecida porque si no haría cosas raras, ahí queda eso, me voy para cama ya repasaré lo escrito por si he soltado demasiadas burradas XDD
    Eso es lo que hago.

    Se "bombardea" el objeto B con rayos lanzados desde el objeto A. Aquí hay varias posibilidades. O bien lanzas los rayos con su origen en los vértices de A y dirección la normal del vértice, o bien creas una esfera virtual y proyectas desde ahí con dirección igual al origen de la esfera.

    De todas formas, dependiendo de la forma de lo objetos, puede ocurrir que al proyectar el objeto A sobre B, hayan polígonos que crucen espacios vacíos. Por ejemplo, imagina una mano con sus dedos. Puede ocurrir que un vértice sea proyectado en la punta de un dedo y otro vértice del mismo polígono se proyecte en la punta del dedo contiguo. Eso generaría geometría que "rompería" la forma de la mano.

    En cualquier caso a ver si le doy los últimos retoques y lo saco. No hay nada que perder.

    Saludos.

  2. #17
    H = E + L
    Fecha de ingreso
    Mar 2004
    Ubicación
    Entre dos vectores
    Mensajes
    870

    Re: morfer entre mayas de diferente número de vertices.

    Hola.

    Aquí tenéis la primera versión del script que proyecta un objeto sobre otro.

    Os comento un poco cada cosa (ver imagen):



    • Virtual sphere radius: Especifica el radio de la esfera (virtual) desde la cual se proyectara el objeto. En la imagen podéis ver dicho radio en 2D. ¡¡Tened en cuenta que las unidades del radio son genéricas, aunque vosotros tengais las unidades puestas en metros o lo que sea!!.
    • Ray direction: Especifica la dirección en la cual se proyectaran los vértices. Tenemos dos opciones. O bien se proyectan utilizando la normal de cada vértice, o bien lo hacen utilizando el radio-vector, es decir, el vector que va del vértice al centro de la esfera virtual (ver imagen). La dirección óptima dependerá de la forma del objeto.
    • Object to project: Con este botón puedes seleccionar el objeto (objeto A) que se proyectara (debe ser "editable poly").
    • Object to project on: Con este botón puedes seleccionar el objeto sobre el que se proyectara (objeto B) el objeto A (también debe ser "editable poly").
    • Project: Ejecuta la proyección. Se creara un nuevo objeto (copia del objeto A) proyectado sobre el objeto B.
    • Exit: Hmmm...


    Bien, con esto no esta todo hecho para poder hacer el morphing.

    Imaginad que tenéis un cubo y una esfera. Primero proyectais (el orden da igual) el cubo sobre la esfera y tendréis como resultado el objeto, llamémosle "cube_proj". Ahora proyectais la esfera sobre el cubo y tendréis como resultado el objeto "sphere_proj". Lo siguiente es "atachar" "sphere_proj" al cubo y la esfera a "cube_proj". Aquí el orden de asociación sí es importante, de lo contrario la topología se nos ira al carajo.

    Una vez hecho todo eso, tenemos dos objetos, lo más probable es que no sean perfectos. Seguramente habrán aristas cruzando espacios vacíos (ésto dependerá de la forma de los objetos) y habrá que mover los vértices de forma que dichas aristas queden dentro del objeto original. Otra cosa que seguramente necesitaréis para obtener resultados decentes a la hora de hacer el morph es utilizar varios morph targets intermedios. De esta forma la transición será más controlable. También se suelen obtener mejores resultados con objetos suaves y bastante teselados. Otra cosa que suele venir bien es escalar (utilizando el centro como pivote) el objeto proyectado, de forma que quede más en el inteior del objeto que sirvió como referencia para la proyección. De esta forma evitaréis z-fighting en el render.

    En fin, eso es todo por ahora. Si tenéis dudas o encontráis fallos no tenéis más que comúnicarlo por aquí y haré lo que pueda.

    Saludos.
    Miniaturas adjuntadas Miniaturas adjuntadas morfer entre mayas de diferente numero de vertices -projectobjectinfo.jpg  
    Archivos adjuntados Archivos adjuntados
    Última edición por HalfVector; 13-11-2006 a las 23:12

  3. #18
    Senior Member
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,637

    Re: morfer entre mayas de diferente número de vertices.

    Y todo esto no es lo mismo que un conformí
    Corregidme si me equivoco, porque no lo entiendo, la verdad...
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  4. #19
    H = E + L
    Fecha de ingreso
    Mar 2004
    Ubicación
    Entre dos vectores
    Mensajes
    870

    Re: morfer entre mayas de diferente número de vertices.

    Pues sí, eso parece. De hecho hay opciones en el conform que tenía pensado meter en el script también.

    En fin, es lo que tiene no conocer el MAX.

  5. #20
    Senior Member Avatar de Birkov
    Fecha de ingreso
    Dec 2004
    Ubicación
    Coruña - Barcelona
    Mensajes
    874

    Re: morfer entre mayas de diferente número de vertices.

    Basicamente sí que es lo mismo, pero siempre mola ver como HalfVector se curra estos scripts, además nunca se sabe cuando te puede hacer falta programar y siempre tienes estas aplicaciones para estudiar el código, en cuanto pueda lo prueba y comento si encuentro algún fallo


    Editado: no había visto el mensaje de Half pero la idea de aprender del código sigue siendo valida
    _________________________________________________
    Reloj de pulsera /\ Marine Starcraft 2 WIP /\ Motorola L6 /\ Canon Ixus II /\ La vigilante /\ Dragon WIP ________________________________________________

Página 2 de 2 PrimerPrimer 12

Temas similares

  1. Blender Seleccionar entre dos vertices
    Por slash en el foro Problemas con Programas
    Respuestas: 6
    Último mensaje: 01-04-2011, 03:49
  2. Blender Seleccion entre vertices
    Por oscurart en el foro Modelado
    Respuestas: 6
    Último mensaje: 10-08-2009, 03:04
  3. Consulta - averiguar Numero de Vertices de una Spline
    Por ramiro3d en el foro Programación y Scripts
    Respuestas: 1
    Último mensaje: 08-02-2009, 09:30
  4. Controlar el numero de vertices en una curva bezier
    Por Quikzer en el foro Modelado
    Respuestas: 3
    Último mensaje: 03-02-2008, 00:25
  5. problema morfer:desplazamiento de vertices
    Por shenmue en el foro Animación y Rigging
    Respuestas: 23
    Último mensaje: 28-02-2006, 10:42

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.
  •