Tengo dos vectores, "V" y "W", que están unidos entre sí. Si "V" gira, "W" se desplazará de forma angular alrededor de "V". "W" tiene una rotación fija, que he puesto a 45º.
He hecho una representación aproximada de esto en MS Paint, como puedes ver aquí:
Ahora, mi objetivo final es hacer que "W" apunte a un punto específico, que puede estar en cualquier lugar en un espacio 2D, pero solo girando "V". Tenga en cuenta que solo puedo rotar "V", "W" tiene una rotación fija y la magnitud del vector entre ellos es siempre constante.
Entonces, si quiero que "W" apunte, por ejemplo, a "A", ¿qué rotación debo aplicar a "V" y/o qué posición final quiero para "W" para lograr esto?
Para contexto opcional: "V" y "W" son Game Objects en Unity. "W" es un hijo de "V" y tiene una posición relativa fija hacia él. Solo puedo manipular la rotación de "V", lo que hace que "W" se desplace en consecuencia. "W" debería poder emitir Raycast hacia cualquiera de los puntos objetivos ("A", "B", "C" o "D") y devolver un golpe de manera efectiva.
He buscado temas similares, pero no parecen abordar este problema específico (si lo hacen, están más allá de mi comprensión).
Esta pregunta se publicaría mejor en http://gamedev.stackexchange.com , ya que no parece estar haciendo una pregunta sobre física, sino sobre cómo lograr algo en un motor de juego.
Suponiendo que conoce el desplazamiento angular de W en relación con V, y tiene una forma de determinar el desplazamiento de V a partir de un rayo emitido entre su origen y el punto deseado. En ese punto, ahora puede determinar el desplazamiento de W en relación con el rayo emitido a A desde el origen de V, para que pueda encontrar la cantidad que necesita para girar V para apuntar W en A.
GeneralJames
GeneralJames
GeneralJames
Franconstein
Franconstein