# Como Crear El Mejor Controlador De Personaje En Unity
**Source:** https://fr.cursos.frogamesformacion.com/pages/blog/como-crear-el-mejor-controlador-de-personaje-en-unity
**Language:** French

---

![Cómo crear el mejor controlador de personaje en Unity (y dejar de patinar, atravesar paredes y caerse)](https://dropinblog.net/cdn-cgi/image/fit=scale-down,format=auto,width=700/34249715/files/portada-post/como-crear-el-mejor-controlador-de-personaje-en-unity-y-dejar-de-patinar-atravesar-paredes-y-caerse.png)

# Cómo crear el mejor controlador de personaje en Unity (y dejar de patinar, atravesar paredes y caerse)

*![Juan Gabriel Gomila](https://dropinblog.net/cdn-cgi/image/fit=scale-down,width=100/34249715/authors/jb.JPG)*

Juan Gabriel Gomila 

Jeux vidéo 

  

26/06/2026 12:00pm

11 minutos

Leer el artículo

Audio generated by DropInBlog's Blog Voice AI™ may have slight pronunciation nuances. Learn more

## Contenidos

- El error de partida: usar fuerzas como si fuesen control (y acabar patinando)
- No incumplas las leyes: jamás fuerces la Velocity cada frame
- Primer síntoma: “mi personaje patina como si tuviera hielo”
  - Cómo arreglarlo bien
- Segundo síntoma: “mi personaje se tambalea y cae”
  - Los tres ejes que te arruinan el control
  - Solución rápida
- Colisiones perfectas: Ground check que falle en bordes
  - Usa SphereCast en lugar de RayCast
  - Filtra por capas (layers)
- Pendientes: cómo evitar el patinaje hacia abajo
  - La idea clave
- Escaleras: la cápsula rígida se queda atascada
  - Dos soluciones reales
- La alternativa sensata: CharacterController en vez de Rigidbody (cuando aplica)
- El enfoque híbrido: “Ragdoll como en GTA” solo cuando muere
- Tips finales para calidad profesional en tu controlador de personaje
  - 1) Congela rotación en X y Z
  - 2) Activa interpolación
  - 3) Colisiones continuas en vez de discretas
  - 4) No uses AddForce sin elegir bien el ForceMode
  - 5) SphereCast para suelo
  - 6) Ground layer para todo lo relacionado con suelo
  - 7) Pendientes: fuerza alineada con la normal
- Recursos para seguir mejorando en Unity
- Conclusión: movimiento que responde cuando debe (y solo entonces)
- Preguntas Frecuentes

Si tu **player controller** (controlador de personaje) en Unity se siente raro, flotante o “como patines”, estás solo. Y lo peor es que suele venir de un enfoque muy común: usar **Rigidbody** para mover el personaje con fuerzas y cambios de velocidad “porque sí”, como se ve en muchos tutoriales.

La buena noticia es que esto tiene arreglo. No necesitas magia ni un motor nuevo. Solo necesitas dejar de pelearte con la física y empezar a controlarla como toca. Aquí tienes una guía práctica, paso a paso, con los errores más habituales y las decisiones que marcan la diferencia entre un controlador de personaje con movimiento que se ve “finito” y uque da asco al jugador.

## El error de partida: usar fuerzas como si fuesen control (y acabar patinando)

El controlador de personaje típico que se enseña consiste en aplicar una **AddForce** (a veces en **FixedUpdate**) con una dirección multiplicada por una velocidad. Funciona… hasta que lo pruebas en un juego real.

El síntoma es muy claro: el personaje se mueve con sensación de **flotabilidad**. Acelera raro, tarda en detenerse, se desliza incluso cuando deberías estar parado. En una palabra: **tienes control**, tienes física descontrolada.

Piensa en esto: en físicas reales, la fuerza es lo que inicia el movimiento. En personajes controlados, lo que necesitamos es que el jugador sienta una respuesta consistente: “pulso y me muevo”, “suelto y me paro”. La física ayuda, pero debe decidirlo todo.

## No incumplas las leyes: jamás fuerces la Velocity cada frame

Este es el error número uque se ve en el 90% de los scripts que reviso.

Muchos ponen algo así como **rigidbody.velocity = valor** o una fórmula con la velocidad que calculan cada frame. Sí, puede parecer que “corrige” el movimiento, pero en realidad estás **rompiendo la simulación**.

Unity corre las físicas en **FixedUpdate** y espera que el sistema avance de forma coherente. En la vida real, las cosas cambian de velocidad instantáneamente por arte de magia. Se aplican fuerzas y el objeto responde con aceleración.

Si cambias **velocity** directamente continuamente, te quedas sin esa coherencia. Resultado: deslizamientos, aceleraciones invisibles y colisiones menos creíbles.

## Primer síntoma: “mi personaje patina como si tuviera hielo”

Cuando el suelo se siente resbaladizo, basta con cambiar fuerzas. Aquí entra el apartado que casi nadie ajusta a conciencia: **drag** y el comportamiento entre suelo y aire.

### Cómo arreglarlo bien

- **Sube el Drag en el suelo** para que al soltar el mando el personaje se detenga casi al instante.
- **Bájalo en el aire** para que al saltar o caer desde un borde parezca una pluma flotando de forma eterna.

En resumen: el rozamiento “debe existir” donde el jugador está apoyado, y desaparecer cuando ya lo está. El movimiento tiene que venir de tu **lógica**, de un modelo físico pasivo del editor.

## Segundo síntoma: “mi personaje se tambalea y cae”

Si tu rigid body está en el personaje y te permite rotar libremente por los tres ejes, tendrás problemas. No porque el rigid body sea malo, siporque tu controlador de personaje casi nunca quiere rotación libre.

### Los tres ejes que te arruinan el control

La rotación ocurre en X, Y y Z. Pero en juegos, de esos tres, solo tiene sentido una rotación controlada (normalmente la Y, tipo bailarina para mirar alrededor).

Cuando dejas que X y Z roten libremente, el personaje empieza a volcarse, caerse, girarse “sin motivo” o comportarse como si fuera un muñeco de feria.

### Solución rápida

Dentro del **Rigidbody**, congela la rotación:

- **Freeze rotation** en el eje **X**
- **Freeze rotation** en el eje **Z**

Con eso, el “efecto futbolín” desaparece. Todavía es perfecto, pero ya dejas de perder tiempo persiguiendo bugs raros.

## Colisiones perfectas: Ground check que falle en bordes

Este detalle es el que diferencia un controlador de personaje “pro” de uque a veces se cree que está en el aire.

Mucha gente usa un **raycast** hacia abajo porque es fácil. El problema aparece cuando el personaje está justo en el borde: el rayo puede tocar el suelo y Unity interpreta que estás en el vacío. El resultado típico: animaciones y fuerzas que cambian de estado de forma absurda.

### Usa SphereCast en lugar de RayCast

En su lugar, usa un **SphereCast**, como si disparases una esfera hacia abajo. Una esfera tiene más área de contacto que un rayo fino, así que detecta suelo de forma mucho más fiable.

### Filtra por capas (layers)

Configura las **layers** para evitar que una pared cercana cuente como suelo. Si lo haces, tendrás el clásico bug de “Spider-Man” donde el personaje reacciona como si fuese a aterrizar contra la pared.

Regla práctica: crea una layer tipo **Ground** y comprueba el contacto solo contra esa capa.

## Pendientes: cómo evitar el patinaje hacia abajo

En pendientes, el rigid body tiene una tendencia natural: **deslizarse** por la gravedad. Si solo aplicas fuerza horizontal, vas a tener comportamientos muy incoherentes.

### La idea clave

Para que el personaje se caiga marcha atrás (como patines sin freno), necesitas aplicar una fuerza que contrarreste la gravedad cuando estás “quieto” sobre la rampa.

Además, la fuerza de movimiento debe ir **paralela a la superficie**. El error típico es hacerla horizontal.

- Si vas hacia arriba con fuerza horizontal, **pierdes eficiencia** (te frena).
- Si vas hacia abajo con fuerza horizontal, **te aceleras demasiado** (sale disparado).

Esto se resuelve con trigonometría y uso correcto de la normal/perpendicular de la pendiente. No hace falta que lo conviertas en una tesis, pero sí entender la regla:

**la fuerza que contrarresta y la dirección de movimiento deben estar relacionadas con la normal de la rampa**.

## Escaleras: la cápsula rígida se queda atascada

Si intentas subir escaleras con una cápsula rígida (rigid body) y colliders normales, verás algo frustrante: se queda enganchado en la altura del escalón.

### Dos soluciones reales

1. **Colloiders invisibles tipo rampa**  
   La escalera visual puede seguir teniendo escalones, pero por debajo le pones colliders que formen una rampa o triángulo “subible” para el sistema físico. Es simple y funciona.
2. **Truco profesional: teletransporte suave hacia arriba**  
   Cuando detectes el escalón, haces un ajuste ligeramente superior a la altura del escalón usando **MovePosition**. Así el personaje sube escalón a escalón sin dejar que la física explote.

Este segundo enfoque es el que suele utilizarse cuando buscas sensación suave y control estable.

## La alternativa sensata: CharacterController en vez de Rigidbody (cuando aplica)

Con todo lo anterior, la pregunta es inevitable: ¿por qué usar el componente “de serie” para el controlador de personaje?

Unity tiene un **CharacterController** que, para la mayoría de juegos, te da detección de suelo, pendientes y escaleras con menos sufrimiento. Y a veces, lo más profesional es lo más simple: si necesitas físicas complejas (viento, mareas, personaje flotando en agua, explosiones con lanzamiento exagerado), **CharacterController suele ser la opción correcta**.

## El enfoque híbrido: “Ragdoll como en GTA” solo cuando muere

Hay un punto donde el Rigidbody sí brilla: cuando el personaje deja de ser un controlador y pasa a ser física “libre”. El ejemplo típico es la muerte tipo **ragdoll** (muñeco de trapo) como en GTA.

La solución es híbrida:

- Usa **CharacterController** para moverte y subir escaleras.
- Desactívalo y **activa el Rigidbody** solo en el momento de la muerte.

Así te llevas lo mejor de los dos mundos: control preciso durante la vida y física convincente durante el ragdoll.

## Tips finales para calidad profesional en tu controlador de personaje

Si vas a usar Rigidbody para el movimiento, estos son los ajustes que conviene revisar con lupa:

### 1) Congela rotación en X y Z

Evita el tambaleo y caídas raras.

### 2) Activa interpolación

La **interpolación** mejora la precisión de las colisiones entre pasos, especialmente en PC y consolas donde el salto visual entre frames puede notarse.

### 3) Colisiones continuas en vez de discretas

Si puedes, usa detección **continua** para que el punto de contacto sea más exacto. Esto reduce errores como “casi choco” o “me atravesó cuando iba rápido”.

### 4) No uses AddForce sin elegir bien el ForceMode

En lugar de cambiar la velocidad directa, usa **AddForce** con un **ForceMode** adecuado. Una recomendación práctica es usar **VelocityChange** para que el efecto de la fuerza deje deslizamientos infinitos. Cuando el jugador suelta el input, el personaje se para de forma coherente.

### 5) SphereCast para suelo

Para bordes y evitar fallos de ground check. Mucho más fiable que un raycast fino.

### 6) Ground layer para todo lo relacionado con suelo

Solo comprueba contra esa capa para saltar, frenar o detectar apoyo.

### 7) Pendientes: fuerza alineada con la normal

Si trabajas con ángulos típicamente **inferiores a 45º**, ajusta fuerzas en función de la normal/perpendicular de la pendiente. Así evitas acelerar al bajar y quedarte frenado al subir.

## Recursos para seguir mejorando en Unity

Si tu objetivo es que el movimiento de tu personaje esté a nivel profesional, conviene dominar tanto mecánicas como base técnica. En Frogames Formación  tienes rutas y cursos centrados en Unity y desarrollo de videojuegos:

- Cursos de Unity
- Programmation de Jeux Vidéo
- Ruta de desarrollo de videojuegos
- Catálogo completo de formación
- Blog de Frogames Formación

  Para complementar con más artículos de desarrollo, buenas prácticas y conceptos que suelen faltar en los tutoriales básicos.

## Conclusión: movimiento que responde cuando debe (y solo entonces)

Un buen controlador de personaje se mide por si “se mueve”. Se mide por su **Réponse** .

Cuando tocas: el personaje se mueve. Cuando sueltas: se para. Cuando subes o bajas: patina raro ni se acelera porque sí. Y cuando toca morir: ahí sí, ragdoll con física creíble.

Si aplicas estos principios a tu controlador de personaje (rotación congelada, SphereCast, force mode correcto, drag por estado, fuerzas alineadas a la pendiente y enfoque híbrido cuando toque), tu juego cambia de golpe. Se siente más sólido, más natural y mucho más “de estudio”.

Y eso es exactamente lo que buscamos: control preciso, estabilidad y colisiones que traicionan cuando el jugador va rápido.

## Preguntas Frecuentes

¿Por qué mi personaje en Unity se siente flotante o resbaladizo?

Porque el movimiento suele depender demasiado de fuerzas físicas mal configuradas.

¿Es buena idea modificar velocity directamente cada frame?

No. Rompe la coherencia física y genera deslizamientos y colisiones inconsistentes.

¿Qué es mejor para detectar el suelo: RayCast o SphereCast?

SphereCast, porque detecta el suelo de forma más estable, especialmente en bordes.

¿Cuándo conviene usar CharacterController en vez de Rigidbody?

Cuando buscas movimiento preciso y necesitas físicas complejas o realistas.

¿Cómo evito que el personaje se caiga o tambalee?

Congelando la rotación en los ejes X y Z dentro del Rigidbody.

Please enable JavaScript to view the comments powered by Disqus.

« Volver al Blog

## Artículos relacionados

![El FUTURO de Unity: Unity 7 aparece y el roadmap apuesta por una evolución incremental de Unity 6](https://dropinblog.net/cdn-cgi/image/fit=scale-down,format=auto,width=700/34249715/files/portada-post/el-futuro-de-unity-unity-7-no-aparece-y-el-roadmap-apuesta-por-una-evolucion-incremental-de-unity-6.png)

## El FUTURO de Unity: Unity 7 aparece y el roadmap apuesta por una evolución incremental de Unity 6

14 minutos

01/07/2026 12:00pm

![Le añadí esto a mi juego en Unity y cambió por completo: cómo crear un sistema de inventario profesional](https://dropinblog.net/cdn-cgi/image/fit=scale-down,format=auto,width=700/34249715/files/portada-post/le-anadi-esto-a-mi-juego-en-unity-y-cambio-por-completo-como-crear-un-sistema-de-inventario-profesional.png)

## Le añadí esto a mi juego en Unity y cambió por completo: cómo crear un sistema de inventario profesional

10 minutos

17/06/2026 12:00pm

![Sistemas de UI Pro en Unity: Hotbar, Drag & Drop y minimapas que hacen que tu juego se sienta profesional](https://dropinblog.net/cdn-cgi/image/fit=scale-down,format=auto,width=700/34249715/files/portada-post/sistemas-de-ui-pro-en-unity-hotbar-drag-drop-y-minimapas-que-hacen-que-tu-juego-se-sienta-profesional.png)

## Sistemas de UI Pro en Unity: Hotbar, Drag & Drop y minimapas que hacen que tu juego se sienta profesional

13 minutos

05/07/2026 12:00pm

CURSO DE REGALO

## Un Curso Gratis Para Ti

Nuestro curso de Unity te sale **Gratuit** .

Aprende a crear tu primer videojuego con el motor de Unity en un curso de
más de 15h de vídeo.

Obtener el curso ahora