Resultados 1 al 3 de 3

¿Cómo limitar el eje de flexión de una malla en un motor gráfico?

  1. #1
    Fecha de ingreso
    Apr 2002
    Mensajes
    115

    Flexión

    ¿Cómo podría limitar el eje de dirección de una malla a la cual añado flexión? No sé si me explico, quiero que una cortina flexione al mover la ventana, pero que no entre en ella. Gracias.

  2. #2
    Fecha de ingreso
    Apr 2002
    Mensajes
    719
    No sé si te he entendido bien, pero si a lo que te refieres es a que la cortina no atraviese la malla de la ventana, se me ocurre que pongas un deflector a la ventana con dinámicas. También puedes simular la cortina con SimCloth, y decir que la ventana sea un objeto rígido, para que se detecte la colisión y no atraviese.

    No sé si es esto a lo que te refieres. Un saludo.

  3. #3
    Fecha de ingreso
    Apr 2002
    Mensajes
    40,722

    Limitar el eje de flexión de una malla en un motor gráfico

    Para limitar el eje de flexión de una malla, se manipulan los vértices o huesos que controlan su deformación. Este proceso es común en sistemas de cinemática inversa o en shaders de vértices que simulan flexión. La idea central es restringir matemáticamente la rotación o traslación de los elementos transformados a un solo plano o dirección, anulando los componentes no deseados en los otros ejes. Se puede lograr mediante código en el motor, usando máscaras de peso en el rigging o configurando restricciones específicas en los huesos.


    Métodos comunes para restringir la flexión

    Un método directo es usar un shader de vértices. En el shader, se procesa la posición del vértice y se aplica una transformación, como doblar, pero solo en un eje calculado. Por ejemplo, se puede usar una matriz de rotación que solo afecte al eje Y, dejando X y Z sin cambios. Otro enfoque es en el rigging del modelo: se asignan pesos de vértice a un hueso controlador y se limita la rotación de ese hueso en el motor, usando las propiedades Constraints o Clamps disponibles. En motores como Unity o Unreal, esto se configura en el componente del animador o en el bluepring del esqueleto.

    Implementación técnica y consideraciones

    Al implementar, es clave calcular el eje de flexión en el espacio local de la malla. Para un doblado simple, como una hoja que se pliega, se define un eje pivote y un ángulo máximo. Luego, en cada fotograma, se calcula la nueva posición del vértice en función de su distancia al pivote, pero solo se modifica su coordenada en el eje permitido. Si se usa cinemática inversa, se configuran límites angulares (angular limits) en la cadena de huesos para que solo giren en el plano XY, por ejemplo. Esto evita que la malla se tuerza en direcciones no naturales. La precisión depende de cómo se definan los pesos y los límites.

    A veces, la malla parece tener vida propia y se dobla en direcciones inesperadas, como si intentara escapar de la animación planeada. Un recordatorio de que incluso en lo digital, imponer límites puede ser un desafío.
    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Modificador flexion para cabellos
    Por gargarensis en el foro Plugins y Scripts
    Respuestas: 0
    : 20-07-2005, 21:56

Etiquetas para este tema