Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

90
Vistas
De a Rotación Glitching Mi controlador de personaje

Así que estoy creando un controlador de personajes que usa Quaternion.FromToRotation para alinear al jugador con el centro de gravedad en este fragmento de código:

this_body.transform.rotation *= Quaternion.FromToRotation(this_body.transform.up,gravity_up);

Y cuando estoy en ciertas partes del planeta esfera comienza a volcarse por todas partes, como en este video, y no sé cómo remediarlo, aunque tal vez la implementación de la gravedad podría ser el problema, o el controlador de personajes, aunque yo creo que usar fuerza relativa no debería meterse con eso.

Implementación de gravedad:

 float distance = direction.magnitude; float forceMagnitude = G * (obj.GetComponent<MultiAttractor>().rb.mass * rb.mass) / Mathf.Pow(distance, 2); Vector3 force = direction.normalized * forceMagnitude; rb.AddForce(force);

El guión de mi controlador de personajes es un poco largo, así que no creo que deba aburrirlos con él, aunque si es necesario, podría proporcionárselo.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto es para cualquier persona que tenga problemas con el uso de Quaternion.FromToRotation con un controlador de caracteres de cuerpo rígido:

No profundicé mucho en su problema, pero está manipulando la rotación directamente en el código con Quaternion.FromToRotation y también con la física. Creo que debe ceñirse a uno de los dos, porque el uso de ambos puede provocar comportamientos inesperados. Si introduce una modificación de rotación "en bruto", el motor de física se ocupa de ello. – rustyBucketBay

Básicamente, solo use la rotación física como Rigidbody.rotation para rotar cosas como Transform.Rotate o si desea rotar objetos físicos como si estuviera agregando fuerza, pero en lugar de mover las cosas, rota las cosas, luego use Rigidbody.AddTorque , o simplemente no lo haga use cualquier rotación física con otros tipos de rotación, ya que puede causar problemas, como lo indica rustyBucketBay

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda