Showing posts with label scripting. Show all posts
Showing posts with label scripting. Show all posts

Thursday, November 24, 2011

A little utility / Una pequeña utilidad



Siempre he sido un gran fan de salvar mis archivos en sucesivas versiones, en maya echaba de menos la función por defecto que existe en 3d studio max.
En vez de ponerme a buscar algo parecido, he aprovechado un ratín para crear un pequeño script que hace mas o menos lo mismo (siempre que no superes las 999 versiones de tu archivo).
No ha sido testeado intensivamente, así que si lo usos hazlo bajo tu propia responsabilidad ;)

def savePro():
    """
    This script save progressive versions of your file
    """
    import maya.cmds as cmds
    import os
    myDirectory = cmds.file( query=True, sceneName=True)
 
    fileName = os.path.split(myDirectory)
 
    
    cleanName =os.path.splitext(fileName[1])[0]
    extension =os.path.splitext(fileName[1])[1]
    
    if "_v" in str(cleanName):
        name = cleanName.rsplit("_v")[0]
        version = cleanName.rsplit("_v")[1]
        newVersion = str(int(version) + 1)
        if len(newVersion)==1:
            newVersion = "00" + newVersion
        elif len(newVersion)==2:
            newVersion = "0" + newVersion
        elif len(newVersion)>999:
            print "Maximun number reached"
            
        cleanName = name + "_v" + newVersion
              
    else:
        cleanName= cleanName + "_v001"
    
    newName = cleanName + extension
    newDirectory = os.path.join(fileName[0],newName)
    cmds.file( rename=newDirectory)
    cmds.file( force=True, save=True)
    print newDirectory
    return newDirectory
savePro()






Sunday, October 23, 2011

Una pequeña demo

Bueno pues he sacado algo de tiempo y he montando un pequeño video mostrando algunas de las funcionalidades del rig en el que llevo trabajando en los huequillos que encuentro entre trabajo y demás. Aún faltan algunas funcionalidades que me gustaría implementar pero la base está ahí. Lo mejor de todo es gracias al scripting todo será aplicable a otros personajes.