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

Tema: Necesito un Script para bakear animacion de bones manejados por constraints

  1. #46
    Senior Member
    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 animacion?
    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,691

    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 MDD de ese objeto, te guarda toda la animación que haga a nivel vértice, pero solo los desplazamientos, no la malla en sí, por eso después al importar, hay que hacerlo sobre el mismo objeto que guardaste (de donde salió la animación)

    Esta muy bien para exportar a otros softs 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 ADD-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 que 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 Preferences -> Add-Ons, apartado "Object", aparecerá con el nombre "Bakebone tool".
    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
    Senior Member
    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 ingles(así queda más molon)
    En autor os he puesto a ti y a caronte también.

    Probadlo para ver que no tiene ningún fallo(si quereis,claro)

    archivo:
    ADDON_BakeBone.rar
    Ú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,691

    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
    Senior Member
    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 tubiera algún shape key anterior no funcionaria.

    Aquí el addon modificado.
    ADDON_BakeBone1.rar

    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 esta hecho en el supuesto que siempre se llame 'Key'
    Ú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 tubiera 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 esta hecho en el supuesto que siempre se llame 'Key'

    Si, 'Key' debe ser invariable. Pero no se 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
    Senior Member
    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 sabriamos 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,691

    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 sabriamos el nombre del shape key del objeto seleccionado.
    bpy.context.active_objeto.active_shape_key.id_data .name
    Ah, 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 que 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
    Senior Member
    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",fr ame = frame_idx)
    elif 'BakeBone' in objeto.active_shape_key.name:
    objeto.active_shape_key.value = 0.0
    objeto.active_shape_key.keyframe_insert("value",fr ame = 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,691

    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
    Senior Member
    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.

    umm, si.
    Viendo el código inicial, esta 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
    Senior Member
    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. Blender Onion Sking para animacion generica por nodos y script
    Por Pistolario en el foro Animación y Rigging
    Respuestas: 1
    Último mensaje: 07-06-2011, 22:32
  2. Blender Existe en Blender 2 5x alguna forma de bakear animacion
    Por Caronte en el foro Animación y Rigging
    Respuestas: 8
    Último mensaje: 01-12-2010, 22:28
  3. ayuda Necesito Script para Max 9
    Por CriticalError en el foro Programación y Scripts
    Respuestas: 0
    Último mensaje: 01-03-2010, 00:45
  4. ayudas y sugerencias para animacion con bones
    Por Eaglon en el foro Animación y Rigging
    Respuestas: 1
    Último mensaje: 01-05-2009, 07:38
  5. Respuestas: 0
    Último mensaje: 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.
  •