Si alguna vez has visto una batalla con miles de soldados en una peli y te has preguntado cómo narices se anima eso sin que el estudio quiebre, la respuesta casi siempre es Crowd, el sistema de multitudes de Houdini. Y el nodo que lo pone todo en marcha se llama Crowd Source. En este tutorial te explico cómo funciona de verdad, sin rodeos, para que puedas montar tu primera simulación de multitud hoy mismo.

Qué es Crowd Source y por qué deberías usarlo

Crowd Source es el nodo que convierte tus agentes (personajes con rig y clips de animación) en una población lista para simular dentro de una red DOP. Básicamente le dice a Houdini: "coge estos puntos, ponles un agente encima y prepáralos para moverse".

No es magia. Necesitas antes tener claro qué vas a poblar: un terreno, un edificio, una plaza. Crowd Source toma como entrada geometría (normalmente puntos generados con un Scatter o Points from Volume) y sobre cada punto instancia un agente con su rig, su skin y sus clips de animación de caminar, correr o quedarse quieto.

Se usa en VFX para cualquier cosa que implique más de veinte o treinta personajes moviéndose con lógica propia: multitudes en estadios, ejércitos, gente cruzando una calle, zombis (siempre hay zombis). Y también en videojuegos cinemáticos, aunque ahí el pipeline cambia un poco por temas de real time.

Lo bueno de Houdini frente a otras soluciones es que todo es procedural. Cambias el terreno y la crowd se adapta sola. Cambias el número de agentes y no tienes que reanimar nada a mano. Eso es oro cuando el cliente te pide "pon el doble de gente" a dos días de entrega.

Lo que necesitas antes de tocar Crowd Source

Antes de nada: agentes ya definidos, con su rig y sus clips importados. Sin esto, Crowd Source no tiene nada que poblar.

Un agente en Houdini se construye normalmente así:

  • Agent SOP: importa el rig, la geometría con skin y opcionalmente el proxy de colisión.
  • Agent Clip SOP: mete las animaciones (idle, walk, run, sit) desde FBX o Alembic.
  • Agent Layer o Agent Prep: define capas de geometría, como ropa o pelo, si trabajas con layers separadas.
  • Agent Terrain Adaptation: opcional, pero clave si tu suelo no es plano del todo.

Si vienes de Maya con un personaje riggeado, el camino habitual es exportar el esqueleto y las animaciones en FBX, traerlas con el Agent SOP, y ya en Houdini montar los clips. Es un poco tedioso la primera vez, pero una vez tienes la plantilla, reutilizas el setup en cualquier proyecto.

Un consejo que te ahorra dolores de cabeza: nombra tus clips de forma consistente (idle_01, walk_fwd, run_fwd...) porque luego el Crowd State los va a buscar por nombre. Si los llamas "animacion3" te vas a arrepentir en la fase de comportamientos.

Montando el flujo con Crowd Source paso a paso

El flujo básico son cuatro pasos: generar puntos, poblar con Crowd Source, definir comportamiento y simular en DOPs.

  1. Genera la superficie de población. Puede ser el suelo de tu escena o cualquier geometría. Usa un Scatter para distribuir puntos, controlando la densidad con un atributo o una máscara pintada a mano (muy útil si quieres que la gente se agrupe cerca de un escenario, por ejemplo).
  2. Conecta Crowd Source. En su primer input metes los puntos, y en el segundo, la colección de agentes (el nodo Agent). Aquí decides qué porcentaje de cada tipo de agente quieres, si tienes varios modelos, para que no parezca un ejército de clones idénticos. Esto se hace desde el parámetro de distribución de agentes.
  3. Añade variación. Nadie se cree una multitud donde todos caminan igual de rápido y con la misma altura. Usa el Crowd Source para randomizar escala, velocidad de reproducción de clips y color de la piel de agentes vía atributos como `pscale` o variantes de textura.
  4. Mételo en una red DOP. Aquí es donde Crowd Solver entra en juego, gestionando colisiones entre agentes, evasión de obstáculos y transición entre estados. El Crowd Source solo prepara el terreno; el solver es quien hace que la cosa se mueva de verdad.

Una cosa que se le pasa a mucha gente: revisa el atributo `agentid` después del Crowd Source. Si tienes problemas raros de agentes que desaparecen o se solapan, casi siempre es un tema de ids duplicados o mal generados en el Scatter previo.

Comportamientos y estados: aquí está la salsa

Con los agentes poblados, el trabajo de verdad empieza en el Crowd Behavior y el Crowd State, que son los nodos que deciden qué hace cada agente y cuándo cambia de acción.

Un Crowd State típico define transiciones tipo: si el agente está cerca de un obstáculo, cambia de "walk" a "avoid". Si llega a un punto objetivo, cambia a "idle". Esto se monta con reglas visuales dentro del Crowd State editor, que es básicamente un grafo de estados con condiciones.

Los comportamientos más usados en producción son:

  • Seek: el agente va hacia un punto o path concreto.
  • Avoid Obstacles: evita geometría estática, como columnas o coches.
  • Avoid Agents: evita chocar con otros agentes, fundamental para que no parezca que todos son fantasmas atravesándose.
  • Path Follow: sigue una curva, ideal para desfiles o gente entrando a un edificio por una puerta concreta.
  • Look At: orienta la cabeza o el torso hacia algo, útil para dar vida a escenas de multitud mirando un evento.

Mi opinión, después de haber sufrido varios setups de crowd: no le metas quince comportamientos distintos desde el principio. Empieza con Seek y Avoid Agents, mira cómo se comporta la sim, y ve añadiendo capas. Si montas todo el árbol de comportamiento de golpe, cuando algo falla no tienes ni idea de qué nodo es el culpable.

Optimización y render: que no se te caiga el ordenador

Aquí está el problema real de trabajar con crowds: miles de agentes con rig completo pueden reventar tu equipo si no gestionas bien los LODs.

Houdini permite trabajar con varios niveles de detalle por agente:

  • Full para los agentes en primer plano, con el rig completo y deformaciones reales.
  • Point Cloud para los que están lejísimos, donde ni se nota si tienen dedos en las manos.
  • Card o Impostor, agentes representados con planos con textura, útiles para fondos masivos.

Esto se define desde el Crowd Source y se puede automatizar según distancia a cámara con un nodo de LOD, algo imprescindible si tu escena tiene más de mil agentes y no quieres que el viewport se convierta en una presentación de diapositivas.

Para el render, si trabajas con Karma o Mantra, Houdini gestiona el instancing de agentes de forma nativa, así que no necesitas exportar geometría única por cada personaje: se reutiliza la misma base de malla con distintas poses. Si tu pipeline usa Redshift o Arnold, el proceso es parecido pero necesitas asegurarte de que el plugin soporta agent primitives, que hoy en día casi todos lo hacen.

Un tip que uso siempre en proyectos con crowds grandes: cachea la simulación en disco (con un File Cache o un Crowd Cache) antes de pasar a lighting. Simular en tiempo real con miles de agentes cada vez que abres la escena es perder el tiempo, literalmente.

Errores típicos que te van a pasar (y cómo arreglarlos)

Si es tu primera vez con Crowd, vas a tropezar con esto seguro, así que mejor lo sepas antes.

Agentes que se atraviesan entre sí. Suele ser porque el radio de colisión definido en el Agent SOP no coincide con el tamaño real de la geometría. Revisa el parámetro de radio y ajústalo antes de simular horas.

Transiciones bruscas entre clips de animación. Pasa cuando no configuras bien el blending entre estados en el Crowd State. Aumenta el tiempo de transición y prueba con clips que empiecen y terminen en poses parecidas.

Agentes flotando o hundidos en el terreno. Aquí el culpable casi siempre es el Agent Terrain Adaptation, que necesita el terreno bien definido como colisión antes de simular.

Rendimiento por los suelos en el viewport. Activa el modo de visualización simplificada (bounding box o point cloud) mientras trabajas en comportamiento, y solo cambia a full detail cuando necesites revisar algo concreto.

Si te pasa cualquiera de estos, no entres en pánico. Todo el que ha trabajado con crowds en Houdini se ha topado con lo mismo, incluidos los de estudios grandes con más presupuesto que tú.

Para seguir aprendiendo de verdad

Este tutorial te da la base para montar tu primera crowd, pero el sistema de Houdini da para muchísimo más: agent editor avanzado, mezcla de terrenos dinámicos, integración con simulación de ropa por agente, y setups de producción con capas de render separadas para foreground y background.

Si quieres meterte de lleno en VFX con herramientas como Houdini, simulaciones y pipelines reales de estudio, échale un ojo al Grado Oficial en Efectos VIsuales. Ahí no te quedas en el tutorial de YouTube de turno: trabajas con casos reales, feedback de profesionales del sector y un pipeline completo desde el modelado hasta el render final.

Y si tienes dudas concretas de tu setup de Crowd Source, coméntalo. Es un sistema con muchas piezas moviéndose a la vez, pero una vez le pillas el truco, verás que montar una multitud de miles de personajes deja de dar miedo y empieza a ser hasta divertido.