Attribute Holder

dg3duy - 28/03/2021 00:16
Tengo un objeto en escena al cual tengo que acceder mediante Max script a su atributo guardado.

Accedo a su información interna del botón posemanager de la siguiente manera:

[CODE]def=custAttributes.getDef $.modifiers[1] 2custAttributes.getDefSource def[/CODE]

Y por lo que vi tiene un varios rollout dentro que al parecer es el problema de que no consigo acceder a la información de activar reset en el botón posemanager.


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #238556



Es un misterio para mi de como llegar a activar el reset en el attribute holder mediante Max script.

Este código fue mi mejor intento y da ERROR:

[CODE]$Character_root_Ctrl.modifiers[1].pmAtt.pmAtts.loadSaveRoll._rst.pressed()[/CODE]

Escena 3dsmax para testear:

[url]https://drive.google.com/file/d/1HqNeFtXYdjSpnrn7pWKOI9EBpensy1_X/view?usp=sharing[/url]

Solución:

[CODE]$Character_root_Ctrl.modifiers[1].pmAtt.pmAtts;loadSaveRoll._rst.pressed()[/CODE]

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #238556

ivanlobon - 02/04/2021 19:02
Vale. Acabo de ver que lo has solucionado.
dg3duy - 02/04/2021 23:52
Sí, pero tengo más preguntas que respuestas. :)
dg3duy - 02/04/2021 23:57

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #238689



Estoy ocultando la jerarquía de objetos pero deseo que los objetos Mesh o Poly de esa jerarquía no se oculten. ¿Alguna idea?

[CODE]fn getChildren obj includeParent:false selectObjs:false =
(
children = for c in obj.children collect c
for c in children do join children (for c in c.children collect c)
if includeParent do append children obj
if selectObjs do select children
children
hide children obj
)
getChildren $Character_root_Ctrl


fn getChildreninverse obj includeParent:false selectObjs:false =
(
children = for c in obj.children collect c
for c in children do join children (for c in c.children collect c)
if includeParent do append children obj
if selectObjs do select children
children
unhide children obj
clearselection()
)

getChildreninverse $Character_root_Ctrl[/CODE]

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #238689

ivanlobon - 03/04/2021 12:26
Bueno. Opciones muchas. Si la geo que se oculta lleva skin quita el Parent que no te sirve para nada. Y así no se ocultará.

Es raro intentar ocultar cosas por Parent la verdad. Si lo que quieres es ocultar los controles y todos son shapes se puede hacer directamente en el panel "Display" o con Shift+S.

Si lo que quieres es algo más profesional de tener un botón para ocultar los controles de un personaje en particular, yo tiraría más por nombres concretos.

A todos los controles les pondría en nombre acabado en _Control y ocultarlos mediante la orden:

[CODE]select (execute("$" + "*" + "_Control" as string))
hide $[/CODE]

Lo bueno de esto son dos cosas. Una te obliga a ser ordenado con el tema nombres y otra es que si tienes varios personajes en la escena puedes personalizar la orden:

Para el personaje "Paco" por ejemplo:

[CODE]select (execute("$" +"Paco" + "*" + "_Control" as string))
hide $[/CODE]

Para el personaje "Pepe" por ejemplo:

[CODE]select (execute("$" +"Pepe" + "*" + "_Control" as string))
hide $[/CODE]

Espero que te sirva de algo. Yo tiraría por ahí, que personalmente me parece más sencillo.

Un saludo de Ivan.
dg3duy - 03/04/2021 16:15
Muchas gracias por tomarte el tiempo de responder, el código que has publicado es muy sencillo y eficiente.

Estoy muy agradecido!