En este tutorial de modelado hecho con Blender 4.3, veremos cómo modelar una cadena que sigue la trayectoria y longitud definidas por un objeto Curve.



Transcripción del video

¡Hola a todos! En este tutorial de modelado hecho con Blender 4.3, veremos cómo modelar una cadena que sigue la trayectoria y longitud definidas por un objeto Curve. De manera más general, usando la técnica que se muestra aquí, podemos modelar y animar objetos que se replican automáticamente a lo largo de cualquier trayectoria que queramos.

Primero, comienzo creando el primer elemento de la cadena. Hay varias maneras de crear este tipo de objeto. Yo empiezo con un Torus, reduciendo su número de vértices porque la cantidad predeterminada es demasiado alta. Roto el anillo para que dos Edge Loops estén alineados a lo largo del eje Y, luego agrego dos Edge Loops más justo en el centro a lo largo del eje Y usando la herramienta Loop Cut, y muevo toda la mitad derecha a lo largo del eje X. Esto me da la forma básica del eslabón de la cadena. Mientras estoy en Edit Mode, reposiciono el objeto en el centro de la escena, para que el Origin quede en el centro del objeto.

Antes de continuar con el tutorial, me gustaría señalar que puedes redimensionar fácilmente los Edge Rings que forman el eslabón de la cadena. Todo lo que tienes que hacer es cambiar al modo Edge select en Edit Mode para seleccionar un Edge Ring, cambiar la orientación de transformación a Individual Origins, seleccionar todos los Edge Rings usando Select Edge Rings, y escalar la selección. Puedes aplicar esta transformación incluso después de completar la cadena, para cambiar la apariencia de los eslabones. Al terminar, restablezco la orientación de transformación a Median Point, solo por seguridad.

Ahora agregaré una curva a la escena. Hay diferentes tipos de objetos Curve, y uno de ellos se llama Path. Sin embargo, Path es un objeto Nurbs que funciona con puntos de control externos y un sistema de pesos. Así que prefiero usar un objeto Bezier Curve, correctamente escalado y orientado, de modo que uno de sus puntos de control iniciales coincida con el Origin del eslabón.

Luego selecciono el eslabón de la cadena y le añado un modificador Array. Por defecto, crea una copia duplicada desplazada una unidad a lo largo del eje X. Inmediatamente noto que la nueva copia no está alineada con el objeto original. Eso es porque inicialmente roté el Torus 10 grados, y esta transformación también se aplica a los nuevos objetos creados por el Array. Para solucionar esto, aplico la transformación de rotación usando CTRL A y eligiendo Rotation and Scale en el menú que aparece en pantalla. La escala de este objeto era uniforme, ya que no había redimensionado el Torus en Object Mode, así que técnicamente no necesitaba aplicar Scale, pero no importa mucho.

Para posicionar el segundo eslabón dentro del primero, solo necesito bajar el valor de Factor X en Relative Offset. Sin embargo, hay un problema aquí: en los ajustes de Array no puedo establecer un factor de rotación, así que el segundo y los eslabones siguientes no pueden rotarse desde aquí.

Para resolver este problema, necesito agregar un tercer objeto a la escena, esta vez un Empty, colocándolo exactamente donde está el Origin del primer eslabón y asegurándome de no escalarlo para evitar problemas. Luego asigno este Empty al campo Object Offset en el modificador Array. Ahora, al rotar el Empty 90 grados alrededor del eje X, todos los elementos después del primero se rotarán 90 grados cada uno. Así que tanto Relative Offset como Object Offset están activos: el primero desplaza las copias del eslabón, mientras que el segundo las rota. Al aumentar el valor de Count en el modificador Array, obtenemos nuestra cadena a lo largo del eje X.

Ahora cambio el Fit Type del modificador Array de Fixed Count a Fit Curve, y por supuesto asigno la Bezier Curve como el objeto Curve a usar para la longitud. De esta manera, el Array creará automáticamente la cantidad de eslabones necesarios para igualar la longitud del objeto Curve, pero aún en línea recta, desde el primer punto de control hasta el último.

Para hacer que las copias creadas por el Array sigan el camino de la curva, añado un modificador Curve al objeto Torus. El orden de los modificadores es importante, y en particular, el modificador Curve debe ir después del modificador Array. Aun así, incluso si se selecciona correctamente el eje de deformación, en este caso el eje X, el resultado aún no se ve bien. Vamos a corregir algunas configuraciones que están causando este comportamiento.

En primer lugar, el Origin del objeto Curve está ubicado fuera de la curva real. Para obtener un buen resultado, el Origin debe colocarse en el primer punto de control, que debe coincidir con el Origin del primer eslabón de la cadena. Así que entro en Edit Mode y coloco el 3D Cursor en el primer punto de control de la curva, seleccionándolo y usando la herramienta Cursor to Selected. Luego regreso a Object Mode y uso Origin to 3D Cursor para colocar el Origin del objeto Curve ahí.

Eso ya es mejor, pero podemos ver inmediatamente que el primer eslabón ha sido colocado en el punto de control final, y la cadena continúa desde ahí hacia afuera, fuera del camino de la curva. Esto nos da una pista sobre otro problema a corregir: la dirección de la curva. Los objetos Curve tienen una dirección, que se puede visualizar en Edit Mode activando la visualización de Normals en el menú Curve Edit Mode Overlays.

Para invertir la dirección de la curva, intercambiando el punto de inicio y el final, necesitamos seleccionar todos los elementos de la curva en Edit Mode y usar la herramienta Switch Direction en el menú Segments. Sin embargo, el resultado aún no es del todo correcto.

La última corrección que debemos hacer involucra la rotación de la curva. Inicialmente la había rotado 180 grados sobre el eje Y para invertirla, lo cual genera cierta confusión en su orientación real. Para solucionar esto, aplico la transformación de rotación con CTRL A y Apply Rotation. Aunque el factor de escala de la curva no es 1, esta vez no estoy aplicando la escala porque hacerlo requeriría ajustar también otros parámetros. Es mejor dejarlo así. De cualquier modo, ahora tenemos el resultado correcto.

Ahora podemos seleccionar el objeto Curve, pasar a Edit Mode y modificar sus puntos de control moviéndolos, rotándolos o extruyéndolos, y ver cómo esas transformaciones se aplican a la cadena. La cantidad de eslabones en la cadena cambia automáticamente según la longitud de la curva, la cual se actualiza cuando movemos o extruimos sus puntos de control.

Sin embargo, si muevo aunque sea uno solo de los tres objetos que usamos para obtener este resultado, todo se rompe. Transformar el Empty afecta a todas las copias creadas por el modificador Array, mientras que mover el Curve o el Torus provoca un desalineamiento entre los dos objetos, resultando en un comportamiento incorrecto del modificador Curve.

Para solucionar este problema, la forma más simple es reposicionar el primer punto de control del objeto Curve, y por lo tanto el primer eslabón de la cadena, en la posición del Empty, y luego hacer que tanto el Curve como el Torus sean hijos del Empty. El Parenting se hace mediante una selección múltiple, donde el último objeto seleccionado se convierte en el padre de los demás. En nuestro caso, el Empty debe ser el último en ser seleccionado.

Una vez hecho esto, solo necesitas mover el Empty para colocar el punto de inicio de toda la cadena. Después de eso, puedes seleccionar la Bezier Curve y pasar a Edit Mode para modificar la forma de la cadena.

Antes de terminar el tutorial, aquí va un pequeño extra. Si quieres animar la curva, puedes vincular más Empties a sus puntos de control usando una técnica llamada Hooking. Para hacerlo, selecciona uno o más puntos de control en Edit Mode y luego usa la herramienta Hook to New Object. Por ejemplo, estoy aplicando esto solo al último punto de control del objeto Curve. El nuevo objeto creado es otro Empty, que renombro inmediatamente como Hook Empty para evitar confusiones. Este objeto no necesita necesariamente ser hijo de los otros. En cualquier caso, puedes insertar keyframes de animación para este nuevo objeto y observar cómo se anima la cadena.

El Fit Type del modificador Array estaba configurado como Fit Curve, lo cual puede no ser ideal para este tipo de animación, así que recomiendo probar con Fixed Count en su lugar. ¡Y eso es todo por este tutorial! Espero que te haya sido útil. ¡Hasta la próxima!

Buscar en los Tutoriales

Ingresa una frase o varias palabras clave separadas por comas para buscar.

Modelos 3D, tutoriales y recursos de gráficos por computadora de Francesco Milanese. Las licencias de uso de los modelos 3D se pueden adquirir en las tiendas externas enlazadas en sus respectivas páginas, de acuerdo con las condiciones de licencia aplicables. Francesco Milanese — Número de IVA: 06321250877. Contacto: info@francescomilanese.com


POLÍTICA EXTENDIDA DE PRIVACIDAD Y UTILIZACIÓN DE COOKIES