En Unity 5, ¿por qué mis personajes flotan sobre el suelo cuando realizan animaciones?

En la unidad, es el componente Collider el que interactúa físicamente con el mundo, no los modelos de personajes. Una solución simple es ajustar la posición del Collider (NO la transformación) para que la parte inferior del Collider coincida con la parte inferior de su modelo.

Si el personaje flota a diferentes alturas cuando realiza diferentes animaciones, eso se debe a que la “raíz” de la animación no se establece correctamente directamente debajo de los pies. Puede editar la posición raíz haciendo clic en las animaciones y editando la configuración de importación en el inspector.

Editar: esta respuesta tenía la impresión de que un cuerpo rígido y un colisionador ya estaban unidos al personaje.

La solución súper rápida con solo un modelo adjunto al gameObject, sería simplemente mover todo el GameObject hacia abajo, pero eso no sería ideal ya que el personaje solo se quedaría atrapado en un plano que nunca se movería hacia arriba o hacia abajo. Pero en realidad eso parece algo que probarías, así que quizás intentes apagar IK.

Definitivamente querrás un cuerpo rígido + colisionador conectado o un componente de controlador de personaje. El segundo es una solución rápida, pero menos flexible a largo plazo.

Para ser honesto, lo único que puedo sugerir es descargar el prefabricado de Ethan en los activos estándar de la unidad y combinarlo con tu personaje, porque es difícil saber qué pasa sin él delante de mí.

Cualquiera que sea el colisionador que esté utilizando para su personaje, vuelva a verificar la altura del mismo, principalmente a los pies o vuelva a verificar su colisionador terrestre. Si está por encima del suelo, bug1 si thw personajes colisionador tiene una gran brecha entre los pies y el contorno del colisionador que bug2. Por supuesto, hay otras formas, pero una pregunta simple obtiene una respuesta simple. Espero que esto ayude