ctr_dist( Model.root.kine.global.pos, Model.sphere.kine.global.pos ) / 0.7257
Bueno, mas bien que dividirlo por un valor especifico, lo referencias. Por ejemplo en vez del numero, si tu null se llama "pepito", seria "pepito.kine.global.sclx" (cualquier eje, da igual ya que al escalar normalmente afectas todos los ejes igual), o sea:
ctr_dist( Model.root.kine.global.pos, Model.sphere.kine.global.pos )
/ pepito.kine.global.sclxLo que no entiendo es el pq pasa esto, si la expresion le dice que calcule la distancia entre 2 puntos, pq deja de respetarlo?
Porque los hijos de un padre heredan las transformaciones y escalado de su padre. O sea, lo de ctr_dist() es tecnicamente correcto dentro del contexto del hijo, pero no globalmente. (Da igual que pongas ".global.pos" ya que a la expresion solo le interesa nombres de objetos en realidad.)
Algun problema mas que resolver? me gustan estas cosas e intentar descubrirlas por mi mismo
Y a mi el poder responderte una frase corta y que descubras cosas por tu cuenta. XD En mi opinion asi se suele aprender mas que si te doy una respuesta detallada con todo ya hecho.
Como continuacion de practica con ctr_dist() te propongo que intentes hacer una pierna elastica mas o menos automatica... Que al estar en posicion normal, y encojer, no pasa nada, pero al estirar, se estira con el controlador.
Luego una vez hagas eso, que tambien sea capaz de ser comprimida. Es casi lo mismo. Y por ultimo, que todo esto sea controlable via dos booleans (on/off) o dos sliders para blending. (Realmente un boolean switch en este caso esta bien.) Mira el manual sobre las expresiones cond() - condicionales.
Bonus si consigues todo esto + rodilla movible que se traslade proporcionalmente en relacion al comienzo y fin de la pierna/brazo.
Suerte!