De esta no te escapas Sumatra
Te voy a explicar tres posibles soluciones.
En los tres casos partimos de una escena en la que hay una cadena con un solo hueso y ese hueso tiene un Custom Parameter Set con tres parámatros (RotX, RotY, RotZ). Antes de seguir, un consejo, renombra los huesos siempre (para eso hice mi script
) que la escena sea lo más autoexplicativa posible.
Con Shadows (como dijo Eduardito)La solución que comentaba Eduardito es la más simple. Usa el Shadow del bone, un shadow es una segunda representación del hueso, cuando seleccionas el shadow estás seleccionando el hueso (no es un objeto sino otra representación de este) Las ventajas, a los shadows puedes cambiarle la forma, el color e incluso desplazarlos de la posición del hueso.
Así cuando seleccionas el shadow, te aparecen en el KP/L el custom parameter set del hueso.
con DisplayInfo y Proxies ParametersPartimos de la escena inicial (el hueso sin el shadow). Creamos una esfera implicita (el objeto al que tú llamas cabeza) y le hacemos un constraint de posición con el efector.
Vale a este objeto implícito de creamos otro custom parameter set que llamamos DisplayInfoControles (es importante que DisplayInfo esté escrito así, con la D e I mayúsculas) Abre un explorer y expande los iconos de forma que puedas ver el custom parameter set del hueso y del objeto implícito.
Ahora, arrastra cada uno de los parámetros (RotX, RotY, RotZ) desde el custom parameter set del hueso al del objeto implícito. Esto crea proxies parameters, estos parámetros no son una copia de los originales, sino que son el mismo parámetro que se visualiza en ambos sitios. Así que si modificas uno estás modificando otro y viceversa.
Ahora solo te queda conectar el Display Info, vete a Visibility Optiones de la vista y en la pestaña Stats conecta Show Custom "DisplayInfo" Paramaters.
En el Display Info puedes varias los parámetros e inclusos meter claves.
Observación: Si te fijas tienes en esa ventana una opción Use Proxy Parameter Name si la conecta te sale (en el Display Info) una referencia al Parámetro original.
Con eventosPartimos de la escena incial, con el hueso y su custom parameter set y el objeto implícito (al objeto implícito no le creamos ningún custom parameter set) Creamos un evento como te explique en una respuesta anterior, el único código que debes de introducir es este:
obj=selection(0); // leemos el primer objeto seleccionado
nombre=obj.name; // alamacenamos su nombre
switch (nombre)
{
case "Cabeza": InspectObj("bHueso.PropiedadesHueso");break; // Si seleccionamos la cabeza abrimos las propiedades del hueso
}
Ahora cuando seleccionas la cabeza te abre la ventana de las propiedades del hueso.
¿Cuál es la mejor solución? Pros y contrasShadows:
Pros- Muy rápida, cómoda, facil y efectiva
Contras-Solo puedes mostrar parámetros del hueso. Además, es conveniente tener separado el esqueleto de la interfaz del esqueleto, en este caso los controles están sobre los huesos y para casos complejos quizás es más util tenerlos separados.
Los shadows son una opción muy cómoda y la mejor opción es cosas no expecialmente complejos
DisplayInfo y Proxies parameters Pros-Separas el esqueleto de los controles del esqueleto. Puedes añadir proxies parameters de varios objetos
Contras-Algo más farragoso. Otra limitación es que no puedes mostrar ciertos interfaces (color, curvas de animación,etc...)
Es algo mejor que usar shadows, y creo que en tu caso es la mejor opción. Pero muchas veces con usar shadows bones basta
Eventos Pros - Muchísimas más opciones, no solo para mostrar interfaces, sino para hacer cualquier cosa.
Contras - Hay que programar. No merece la pena para cosas sencillas. Hay que gestionar los eventos.
Esta opción es util para escenas muy complejas y te permite hace infinidad de cosas, pero para casos como este creo que mejor ni plantearselo.
Conclusión Creo que lo mejor para este caso es el Display Info, hay más soluciones posibles y quizás alguna más facil. Espero que ahora si te haya conseguido dar una solución, pero si no es asi seguiremos intentandolo
P.D: Eduardito ¿qué es el link to? (a ver si estoy complicandome la vida de mala manera)