3DSMAX Tutorial 03b: Herramienta Array (matriz) En este tutorial conoceremos las diversas herramientas de matrices que nos ofrece 3DSMAX como Array. array nos permite realizar copias mediante filas y columnas, pero además podremos realizar las copias en pisos (eje Z). Comenzaremos conociendo las funciones de Array mediante la construcción de primitivas base y luego aplicando la herramienta correspondiente. Para comenzar, Abrimos 3DSMAX (no necesitaremos modificar ningún parámetro por ahora). Aplicando Array: Antes de comenzar a utilizar esta herramienta previamente dibujaremos una línea ortogonal (presionando Shift) mediante los shapes de 3DSMAX y dibujaremos un cilindro que tendrá los siguientes parámetros: Radius: 5, Height: 100. Centramos el cilindro en el punto de origen y guardamos. Ahora procederemos a aplicar Array a este cilindro, seleccionándolo previamente. Como su nombre lo indica, Array (matriz) nos permite crear matrices de objetos mediante filas y
columnas que definirán copias tanto en los ejes X, Y y/o Z. Podemos seleccionar esta herramienta en Tools >> Array. En el caso de nuestra escena, primeramente seleccionamos el cilindro y luego ejecutamos Array. Nos aparecerá el siguiente cuadro: Donde tenemos lo siguiente: Incremental/Totals X, Y y Z: si seleccionamos Incremental nos permite incrementar los valores de las distancias, rotaciones o escalas entre cada elemento, en Totals estableceremos los valores totales dependiendo del número de elementos. Ambos parámetros están relacionados entre sí ya que por ejemplo, si tenemos 4 elementos en Count y en Totals X establecemos la distancia 100, la distancia entre cada elemento en Incremental X será 25 de (ya que 25 x 4 = 100). Move, Rotate y Scale: estas flechas son muy importantes pues nos permitirán seleccionar las variables que queramos incrementar, tanto entre elementos como en los totales. Presionando cada flecha podemos establecer si elegimos Incremental o Totals en cada transformación. De esto se desprende que podremos ejecutar matrices de tipo rectangular, polar y escalada. En el caso de los Incrementals y Totals, las unidades serán las siguientes: en el
caso de move los valores serán los que trabajamos por defecto o la unidad de medida que le asignemos a 3DSMAX. En el caso de Rotate la unidad será en grados (degrees) y en el caso de Scale, será de porcentaje (percent). Array Dimensions: nos permite establecer el tipo de matriz y el o los ejes en los cuales se crearán las copias. Si elegimos 1D, las copias se crearán en una dimensión según los valores que definamos en Incrementals. Si elegimos 2D agregaremos una segunda dimensión o eje y si elegimos 3D, tendremos las copias en las 3 dimensiones del espacio 3D. Podremos ver la previsualización de nuestras copias presionando el botón Preview. En Total in Array veremos el total de los elementos que compondrán nuestra matriz y si hacemos click en Display as Box las copias se mostrarán como una caja en lugar de las formas 3D. Cuando hayamos configurado los parámetros presionamos OK para confirmar o Cancel para cancelar la operación. También podemos elegir el tipo de objeto resultante (Copy, Instance o Reference). Aunque en principio parece un poco difícil entender este cuadro, realizaremos algunos ejercicios donde nos quedará claro el uso de esta herramienta. Para ello volvemos a nuestro cilindro, ahora coloquemos el valor 20 a Incremental X en Move y en 1D asignemos el valor 6, junto con presionar Preview para ver el resultado, el cual debiera verse tal como en la foto de abajo:
Notaremos que el cilindro se ha copiado 5 veces en el eje X lo que nos da un total de 6 copias, y la distancia entre el punto de pivote de cada uno de los cilindros es de 20, lo que hace un total de 120 si vemos el valor de Totals en X. Ahora coloquemos -10 a Incremental Y sin cambiar el resto de los parámetros. Esto hará que los elementos de la matriz se muevan en diagonal y hacia nosotros ya que ahora hemos agregado en el eje Y la distancia de -10 entre cada elemento, tal como se ve en la imagen de abajo. Esto es así porque recordemos que en el plano cartesiano, las distancias negativas en Y van hacia abajo. Si el valor fuera positivo las formas formarían una diagonal pero hacia arriba de la línea de origen.
Notaremos que las copias se mantienen en la diagonal ya que como hemos elegido la opción 1D, no crea más copias que en una sola dimensión aún cuando podemos manejar los valores de X, Y y Z, pero afectarán sólo a esta fila o columna de copias. Para corroborar esto, asignemos ahora el valor -10 a Incremental Z. Esto hará que la distancia entre cada elemento de la matriz tome el valor -10 en el eje Z y por ende las formas bajan. Notaremos también que el valor Totals en Z es de -60, tal como se ve en la imagen de abajo: De esto se desprende que si queremos realizar copias en el eje X sólo basta colocar la cantidad de elementos en 1D y luego la distancia entre los elementos en Incremental X, en el caso de Y lo hacemos en Incremental Y y en el caso de Z lo realizamos en Incremental Z. En el caso que utilicemos la opción Rotate, es mejor utilizar los valores en Totals ya que como se expresan en grados, es más fácil realizar las divisiones si se conoce el ángulo total. En este caso la matriz será de tipo polar y tomará como base el punto de pivote del primer cilindro, y la rotación se efectuará en torno al eje que escojamos, en la foto de abajo por ejemplo, la rotación se efectúa en X.
Y aquí está el resultado de la rotación en torno a los ejes Y y Z, aplicando el valor 360. En caso que realicemos la rotación en Z, debemos tener el cilindro en posición horizontal para ver el resultado, tal como se ve en la imagen de más abajo:
Para el caso que utilicemos la opción Scale, es exactamente igual que en los casos anteriores, la diferencia es que los valores estarán expresados en porcentaje y los incrementos se aplicarán uno sobre otro. Es decir, si por ejemplo en nuestro cilindro aplicamos el valor 16 en incremental X y 111 (111%) en Incremental X Scale, la siguiente copia se escalará con ese valor, y la subsiguiente será la copia anterior ya escalada y se le volverá a aplicar ese 111%. El resultado en X en nuestro cilindro es el siguiente: El resultado en Y, esta vez utilizando un 128% será el siguiente: El resultado en Z, esta vez utilizando un 82% será el siguiente: nótese que esta vez, la escala disminuye y por
ende el tamaño de los objetos de la matriz. Debemos recordar que en el caso de Scale, el valor 100 corresponderá al tamaño real de la forma 3D, y bajo ese margen estaremos reduciendo. Por el contrario, valores superiores al 100 agrandarán las dimensiones y por ende el objeto. Y por supuesto, y al igual que en el caso de Spacing Tool, podemos combinar estos valores para formar diversos efectos en la matriz como podemos ver en la foto de al lado donde se han modificado los valores en Move, Rotate y Scale logrando este curioso efecto en el total de la matriz 1D:
Ahora bien, ya somos capaces de entender el manejo de las matrices en 1D, pero ahora cómo creamos una matriz en 2 o 3 dimensiones? La respuesta está en el cuadro Array Dimensions y para activar la matriz en 2D simplemente cambiamos el modo a 2D y en el valor de Count asignamos la cantidad de copias. Sin embargo debemos tener en cuenta la opción Incremental Row donde además debemos asignar la distancia entre los elementos de esta segunda dimensión. Para aclarar esto, volvemos a nuestro cilindro y esta vez asignamos el valor 20 en incremental en X (move), cambiamos a 2D y asignamos el valor 5 en Count. En Incremental Row Y escribimos el valor 20 y activamos Preview. Hemos creado una matriz en 2D y el resultado es el de la foto de la derecha. Como apreciamos, se crean 5 columnas en el eje Y y la distancia entre los objetos es de 20. Al igual que en el caso de las matrices 1D, podemos modificar el movimiento de esta matriz simplemente manipulando los valores de Incremental Row. Si en el caso de nuestro cilindro modificamos el valor de Incremental Row en X a 10, notaremos como la matriz 2D se mueve en diagonal hacia el eje X tomando como referencia la distancia 10 entre los objetos.
También podemos realizar lo mismo en Z pero en este caso, la matriz subirá o bajará en diagonal tomando como referencia la distancia entre objetos en Z. En el caso de la imagen de abajo, se han modificado los parámetros de Incremental Row colocando el valor -29 en Z y manteniendo el valor de Y en 20. Finalmente, si queremos obtener una matriz en 3 dimensiones simplemente cambiamos el modo de Array Dimensions a 3D, además de cambiar los valores de Count y la distancia de Incremental Row en Z para ver el resultado. En el caso de este ejercicio, en el modo 3D el valor de Count será 2 y la distancia en Z será de 120 para ver el resultado, el cual es el de la foto de abajo:
Debemos tomar en cuenta que si en el modo 3D cambiamos los valores de Count en 1D y 2D, esto afectará a los elementos de toda la matriz. Y al igual que en los casos anteriores, los valores que escribamos en X, Y y Z en Incremental Row moverán los elementos de la matriz 3D en torno a X, Y y Z. En la imagen de abajo por ejemplo, el valor en X de Incremental Row es 30 y el de Z, 110. Los elementos de la fila en Z se mueven hacia la izquierda, en torno al eje X. Finalmente en este otro ejemplo, el valor en Y de Incremental Row es -60 y el de Z, 110. Los elementos de la fila en Z se mueven hacia nosotros, en torno al eje Y.
Este es el fin del tutorial 03b.