Gracias Gracias:  1
Página 4 de 5 PrimerPrimer 12345 ÚltimoÚltimo
Resultados 46 al 60 de 62

Tema: Necesito un script para bakear animación de bones manejados por constraints

  1. #46
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Como es eso de guardar por un lado la geometría y por otro la animación?
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  2. #47
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,690

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Guardas un OBJ (3ds también sirve) solo del objeto y después al guardar un MD de ese objeto, te guarda toda la animación que haga a nivel vértice, pero solos desplazamientos, no la malla en sí, por eso después al importar, hay que hacerlo sobre el mismo objeto que guardaste (de dónde salió la animación).
    Está muy bien para exportar a otros softwares cosas que no es posible exportar, como simulaciones de fluidos, telas, etc. El único inconveniente, es que después no puedes modificar prácticamente nada, así que, hay que hacerlo siempre al final con todo terminado
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  3. #48
    · Avatar de pedropp
    Fecha de ingreso
    Jun 2005
    Mensajes
    1,257

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Aquí os dejo una versión AD-ON del script de rulflink para quien quiera probarlo en Blender 2.57. (solo esta la primera parte, "apply_modifier", la segunda parte la dejo para qué la versióne rulflink.
    Hay que poner el fichero en el directorio de add-ons, que probablemente será 2.57/scripts/addons, y activar dicho add-on en Preferencias -> Add-Ons, apartado "Object", aparecerá con el nombre "Bakebone tol".
    Para usarlo, el objeto "con la malla y un modificador armadura" debe ser el objeto Activo, y aparecerá en la "sub-ventana" Properties, tecla n.
    Archivos adjuntados Archivos adjuntados
    Última edición por 3dpoder; 08-02-2012 a las 05:37
    "La vida es como el tetris, cuando llegan los palos no sabes como encajarlos"
    [SIGPIC][/SIGPIC]

  4. #49
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Muy bueno tío, ya le he añadido la otra parte.
    Le he hecho unos cambios en los nombres de los shape_keys y he puesto los nombres en inglés(así queda más molon).
    En autor os he puesto a ti y a Caronte también.
    Probadlo para ver qué no tiene ningún fallo (si quereis, claro).
    Archivo:
    [ATACH]146412[/ATTACH]
    Archivos adjuntados Archivos adjuntados
    Última edición por rulflink; 31-05-2011 a las 21:51
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  5. #50
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,690

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Muchas gracias, pero, a mí no me pongas como autor, que yo no he hecho nada
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  6. #51
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Caronte: la teoría es tuya.
    Acabo de ver que en el caso que la malla tuviera algún shape key anterior no funcionaria.
    Aquí el addon modificado.
    [ATACH]146420[/ATTACH]
    Solo tengo una duda con este script:
    Bpy, data, shape_keys['Key'].key_blocks[:].
    El nombre ['Key'] del shape key es siempre el mismo o se modifica, o pueden haber varios nombres?
    Porque está hecho en el supuesto que siempre se llame 'Key'
    Archivos adjuntados Archivos adjuntados
    Última edición por rulflink; 31-05-2011 a las 23:38
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  7. #52
    · Avatar de pedropp
    Fecha de ingreso
    Jun 2005
    Mensajes
    1,257

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Cita Iniciado por rulflink Ver mensaje
    .
    Acabo de ver que en el caso que la malla tuviera algún shape key anterior no funcionaria.
    Solo tengo una duda con este script:
    Bpy, data, shape_keys['Key'].key_blocks[:].
    El nombre ['Key'] del shape key es siempre el mismo o se modifica, o pueden haber varios nombres?
    Porque está hecho en el supuesto que siempre se llame 'Key'.
    Si, 'Key' debe ser invariable. Pero no sé muy bien lo que quieres hacer con eso. Ten en cuenta que en bpy, data, shape_keys están todas las shape keys (de todos los posibles objetos, no solo del que estamos procesando).
    Edito: No, me equivoqué. "Key" se llama la del "primer objeto", "Key.001" la segunda.
    Última edición por pedropp; 01-06-2011 a las 00:21
    "La vida es como el tetris, cuando llegan los palos no sabes como encajarlos"
    [SIGPIC][/SIGPIC]

  8. #53
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Lo qué quiero con eso es saber el número de shape keys qué tiene en.
    Total el objeto seleccionado para pasar por todos los index y darle los.
    Valores a los qué yo quiera.
    Con esto sabríamos el nombre del shape key del objeto seleccionado.
    Bpy, context, active_objeto, active_shape_key, id_data, name
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  9. #54
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,690

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Acabo de darme cuenta de que este script además sirve para solucionar un gran problema al usar Motion Blur (imprescindible en producciones reales) con emparentamientos retardados (slow parent).
    Problema: El MB tiene en cuenta el frame anterior para calcularse, por lo tanto cuando usamos Slow Parent, el MB no funciona bien o no lo hace en absoluto.
    Solución: Usamos este script para bakear la animación y. Listo.
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  10. #55
    · Avatar de pedropp
    Fecha de ingreso
    Jun 2005
    Mensajes
    1,257

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Cita Iniciado por rulflink Ver mensaje
    .
    Con esto sabríamos el nombre del shape key del objeto seleccionado.
    Bpy, context, active_objeto, active_shape_key, id_data, name.
    Vaya, bien, con eso y key_blocks ya lo resuelves entonces.
    Por cierto, mirando el código, veo que se recorren dos veces todas las frames.
    Ya qué las estas recoriendo una vez para aplicar el modificador, ¿por qué no aprovechas para recorrer las shape keysí Salvo que haya algún detalle que se me escapa.
    Me refiero a dejar el execute() tal que así:
    Código:
    .
    Def execute (self, context):
    Frame_antes = context, scene, frame_current.
    Objeto = context, object.
    For frame_idx in range(context, scene, frame_start, context, scene, frame_end +1, context, scene, frame_step):
    Context, scene, frame_set(frame=frame_idx).
    Modificadores = objeto, modifiers[:].
    Bpy, ops, object, modifier_copy(modifier = self, candidato, name).
    Nuevo_mod = (set(objeto, modifiers) - set(modificadores)), pop().
    Objeto, modifiers[nuevo_mod, name].name = "BakeBone."+str(frame_idx).
    Bpy, ops, object, modifier_move_up(modifier="BakeBone."+str(frame_idx)).
    Bpy, ops, object, modifier_apply(apply_as ='SHAPe', modifier="BakeBone."+str(frame_idx)).
    For shape_idx in range(len(objeto, active_shape_key, id_data.key_blocks)):
    Objeto, active_shape_key_index = shape_idx.
    If objeto, active_shape_key, name == 'BakeBone.'+str(frame_idx):
    Objeto, active_shape_key, value = 1.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx).
    Elif 'BakeBone' in objeto, active_shape_key, name:
    Objeto, active_shape_key, value = 0.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx).
    Bpy, ops, object, modifier_remove(modifier = self, candidato, name).
    Context, scene, frame_set(frame=frame_antes).
    Return {"FINISHED"}.
    "La vida es como el tetris, cuando llegan los palos no sabes como encajarlos"
    [SIGPIC][/SIGPIC]

  11. #56
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Esto no funciona bien ahora:
    If objeto, active_shape_key, name == 'BakeBone.'+str(frame_idx):
    Objeto, active_shape_key, value = 1.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx).
    Elif 'BakeBone' in objeto, active_shape_key, name:
    Objeto, active_shape_key, value = 0.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx).
    Pone a todas las shape las pone a 1
    Última edición por rulflink; 01-06-2011 a las 20:50
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  12. #57
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,690

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Claro, al principio del bucle habría que poner la ShapeKey anterior a cero (índice-1), comprobando antes que no sea la primera vuelta del bucle porque si no intentara poner a cero una ShapeKey inexistente (índice negativo)
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  13. #58
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Así me funciona, me he hecho un lio, pero creo que funciona.
    Mañana lo mirare bien para asegurarme.
    Código:
    def execute (self, context):
    Frame_antes = context, scene, frame_current.
    Objeto = context, object.
    For frame_idx in range(context, scene, frame_start, context, scene, frame_end +1, context, scene, frame_step):
    Context, scene, frame_set(frame=frame_idx).
    Modificadores = objeto, modifiers[:].
    Bpy, ops, object, modifier_copy(modifier = self, candidato, name).
    Nuevo_mod = (set(objeto, modifiers) - set(modificadores)), pop().
    Objeto, modifiers[nuevo_mod, name].name = "BakeBone."+str(frame_idx).
    Bpy, ops, object, modifier_move_up(modifier="BakeBone."+str(frame_idx)).
    Bpy, ops, object, modifier_apply(apply_as ='SHAPe', modifier="BakeBone."+str(frame_idx)).
    If len(objeto, active_shape_key, id_data.key_blocks)>2:
    Objeto, active_shape_key_index = len(objeto, active_shape_key, id_data.key_blocks)-2.
    Objeto, active_shape_key, value = 0.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx).
    For shape_idx in range(len(objeto, active_shape_key, id_data.key_blocks)):
    Objeto, active_shape_key_index = shape_idx.
    If objeto, active_shape_key, name == 'BakeBone.'+str(frame_idx):
    If shape_idx>1:
    Objeto, active_shape_key, value = 0.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx-1).
    Objeto, active_shape_key, value = 1.0.
    Objeto, active_shape_key.keyframe_insert("value", frame = frame_idx).
    Bpy, ops, object, modifier_remove(modifier = self, candidato, name).
    Context, scene, frame_set(frame=frame_antes).
    Return {"FINISHED"}
    .
    Última edición por rulflink; 01-06-2011 a las 23:02
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  14. #59
    · Avatar de pedropp
    Fecha de ingreso
    Jun 2005
    Mensajes
    1,257

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Vaya, si.
    Viendo el código inicial, está claro que quitando los bucles dejaba de tener sentido
    Archivos adjuntados Archivos adjuntados
    Última edición por pedropp; 04-06-2011 a las 18:38
    "La vida es como el tetris, cuando llegan los palos no sabes como encajarlos"
    [SIGPIC][/SIGPIC]

  15. #60
    Usuario Senior
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Necesito un Script para bakear animación de bones manejados por constraints.

    Si el objeto tiene shape_keys con keyframes no funciona, los shapes que tenía dejan de funcionar bien.
    si quieres ver algo mas...... www.rulflinks.blogspot.com

Página 4 de 5 PrimerPrimer 12345 ÚltimoÚltimo

Temas similares

  1. Existe en blender alguna forma de bakear animación
    Por Caronte en el foro Animación y Rigging
    Respuestas: 8
    : 01-12-2010, 22:28
  2. Problema para hacer script en animación de cubo rubik
    Por cancersevero en el foro Programación y Scripts
    Respuestas: 7
    : 14-11-2010, 10:22
  3. Ayuda necesito script para max 9
    Por CriticalError en el foro Programación y Scripts
    Respuestas: 0
    : 01-03-2010, 00:45
  4. Ayudas y sugerencias para animación con bones
    Por Eaglon en el foro Animación y Rigging
    Respuestas: 1
    : 01-05-2009, 07:38
  5. Respuestas: 0
    : 11-08-2007, 03:04

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