Offset por objetos al sistema de coordenadas
Hola, me gustaría saber si hay alguna forma de llevar las coordenadas de un objeto a 0,0,0 sin cambiar de posición al objeto o a su punto pivote, algo, así como el neutral pose de XSI. Lo quisiera hacer para ahorrarme linkear mi controlador a un objeto en su misma posición para que de esta forma el 0,0,0 sea el pivote del padre de esa jerarquía o bien meter ese offset en la expresión de mis controladores.
Me sería muy útil saber si fuera posible hacer una especie de offset al sistema de coordenadas (por objeto) para que el punto pivote de un objeto con cualquier posición en el espacio sea el 0,0,0.
Si no es posible seguiré haciendo un objeto al cual linkear mi controlador para que herede el 0,0,0 pero como nada se pierde con preguntar preferí sacarme la duda. Gracias.
Offset por objetos al sistema de coordenadas
Vaya. Creo que no lo he entendido del todo. La posición de un objeto (nodo) es la posición de su matriz de transformación (ergo su pivote). Por tanto si el pivote no está en 0,0,0, pues no lo está, y punto pelota. No sé si te refieres a que el pivote del objeto esté en 0,0,0 independientemente de dónde esté el centro de su bounding box, o todo lo contrario, es decir que toda la geometría se encuentre con su centro en 0,0,0 (el centro del bounding box) mientras que el pivote este en parla.
En cualquier caso, en Maxscript las dos únicas posiciones que yo conozca, y que tengan que ver con los offset geometría-pivote son su $, pues que te da la posición del objeto (nodo) y su $.objectoffsetpos, que te da la posición de la geometría (el resultado del stak de geometría) respecto del pivote.
No creo que te sirva de mucho, pero es que, no sé si te he entendido bien (probablemente no).
Offset por objetos al sistema de coordenadas
El tema es ver si se puede crear una capa para las coordenadas del objeto de modo que pese a estar en cualquier posición en el espacio su posición sea 0,0,0 (sólo para ese objeto).
En XSI lo puedo hacer con un neutral pose, es como un skin pose, pero te crea esa capa llevándote las transformaciones de traslación/rotación y escalado a 0,0,0. Quisiera hacer algo parecido para trasladar de XSI a 3ds Max algunas cosas sobre rigging.
No sé si logro explicarme bien, hasta ahora lo puedo simular creando un padre para ese controlador (ambos están alineados) y heredando su pivote como el 0,0,0. Para usarlo con Reactor Manager o wire parameters funciona bien, simplemente quería saber si hay otra forma de hacerlo ahorrándome ese objeto que no tiene mucho sentido. Gracias de todas formas Nessito.
Offset por objetos al sistema de coordenadas
César, usa el atajo Alt + botón derecho con el objeto en cuestión seleccionado, y usa el comando freeze transform. De este modo, se crean dos capas en el controlador del objeto (no deja de ser un position list con dos canales, el segundo de ellos activo), y con el mismo atajo y la orden transform todo zero podrás volver a la posición inicial del objeto. Y lo mismo con la rotación.
Creo que esto te puede funcionar.
Offset por objetos al sistema de coordenadas
Freeze transform, ¿cómo se me puede haber olvidado su existencia. Gracias IkerClon, es justo lo que buscaba.