He leído la respuesta a la pregunta de Three JS Pivot point y funciona bien. Pero lo que estoy tratando de lograr implica también que el objeto gire en función de la rotación del pivote.
Digamos, por ejemplo, que tengo un objeto red que actúa como pivote para el pequeño objeto blue . Tan pronto como el objeto red se mueva o gire, el objeto blue se moverá y girará en consecuencia, pero manteniendo la distancia entre red y blue .
Para simplificar, en la siguiente imagen solo estamos en la situación en la que el objeto red solo gira.
La firma de la función respondida en la otra pregunta es la siguiente:
function rotateAboutPoint(obj, point, axis, theta, pointIsWorld) No entiendo cómo obtengo los valores del eje y theta a partir de la rotación del objeto red .
O si esa función no se ajusta a este caso, estoy abierto a otras soluciones.
Sé que si agrego el objeto blue como elemento secundario del red , todo encajará, pero necesito que los dos objetos ( red y blue ) sean independientes entre sí.
Para complicar más las cosas, no estoy girando el objeto red directamente, sino que estoy usando ammo.js para aplicarle fuerza y torque como un cuerpo dinámico, pero supongo que todavía puedo saber su rotación usando red.rotation