XSIforum.com

Maya. Borrar mutiples nodos imborrables

0 Usuarios y 1 Visitante están viendo este tema.

Maya. Borrar mutiples nodos imborrables
« en: 14 Enero 2015, 13:05:45 »
Holas


He importado una escena donde varias cámaras también se han importado como sólo lectura. Son las típicas pers1, top4, side5, front2, etc
Son nodos que no se pueden borrar al estar bloqueados, pero sé que la manera de desploquearlos sería mediante


Código: [Seleccionar]



camera -e -startupCamera false persp1;




aunque ésto sólo me permite borrar una cámara a la vez (en este caso, persp1)


Mi pregunta es si podría hacer lo mismo pero patra aquéllas que tenga seleccionadas o cuyos nombres copie/pegue en el script

Ownage

  • ***
  • 1494
  • cause we are living in a 3d world
Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #1 en: 14 Enero 2015, 13:45:50 »
quizas es tonteria... pero una vez cargada la escena, volver a exportar e importar de nuevo??

Unaided

  • ***
  • 3293
Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #2 en: 14 Enero 2015, 14:13:19 »
Se aplicará a la selección. Como en este ejemplo la acción de la linea 2 solo trabaja con camaras si la selección son objetos, pues devolverá error sobre ellos, pero puedes usar la linea 1 para obtener una lista de items seleccionados.
Código: [Seleccionar]


string $selection[] = `ls -sl -l`;
camera -e -startupCamera false $selection ;

« Última modificación: 14 Enero 2015, 14:24:17 por Unaided »

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #3 en: 14 Enero 2015, 14:55:48 »
Gracias Unaided. Bendito scripting

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #4 en: 14 Enero 2015, 14:56:10 »
Código: (python) [Seleccionar]
from maya import cmds

def is_camera(node):
    cond = (
        "camera" in [cmds.nodeType(x) for x in (cmds.listRelatives(node, s=True, f=True) or [])],
        cmds.nodeType(node) == "camera",
    )
    return any(cond)

cameras = [c for c in cmds.ls(sl=True, l=True) if is_camera(c)]
if len(cameras):
    for c in cameras:
        cmds.camera(c, e=True, sc=False)
    cmds.delete(cameras)

Python... ;)
« Última modificación: 14 Enero 2015, 20:51:39 por Cesar Saez »

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #5 en: 14 Enero 2015, 14:58:40 »
Gracias Cesar. También he probado tu script, pero me da este error

// Error: def is_camera(node):
 //
// Error: Invalid use of Maya object "node". //

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #6 en: 14 Enero 2015, 15:00:00 »
Gracias Cesar. También he probado tu script, pero me da este error...
Es python! (lo pone en el code tag) :)

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #7 en: 14 Enero 2015, 15:09:34 »
lol ni me había fijado.
Anche me fui a dormir a las 4 de la madrugada... supongo que tendrá que ver.
Aun así me aparece un nuevo error

# Error: RuntimeError: More than one object matches name: top1Shape #

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #8 en: 14 Enero 2015, 15:18:31 »
Oops, el error se debe a que tienes más de un DAG node con el mismo nombre, a ver si ahora funciona bien (he editado el snippet del mensaje anterior).

Re:Maya. Borrar mutiples nodos imborrables
« Respuesta #9 en: 14 Enero 2015, 15:41:37 »
Ahora sí, gracias César!