Aquí encontrará varios tipos y formatos de datos que pueden utilizarse para añadir fácilmente puertos a activos y grupos. Si es necesario, estos puertos se pueden personalizar en su interfaz, orden con respecto a las restricciones a través del Editor de Recursos. Por lo tanto, en esta sección también veremos cómo trabajar con el editor de recursos .
A continuación se explican los pasos típicos para utilizar estos elementos y cómo puede utilizarlos para crear sus propios activos.
Para más información y ejemplos sobre cómo utilizar los activos y los Datos de Usuario, consulte la descripción de los Nodos de Construcción de Activos.
Acceso rápido:
En este ejemplo, el objetivo es desarrollar un activo que añada detalles adicionales a una geometría arbitraria seleccionando aleatoriamente partes de la superficie, extruyéndolas y redondeándolas en el proceso. Este tipo de funciones pueden crearse con unos pocos nodos. Por otra parte, la creación de un cuadro de diálogo puede resultar más complicada, de modo que las funciones del activo puedan controlarse fácilmente sin el Editor de nodos. Para ello existen varias opciones, que analizaremos a continuación.
Sin embargo, comencemos con el primer paso, llamando a un Grupo Modificador de Nodos desde los Nodos de Construcción de Activos en el Navegador de Activos. Desde ahí, arrastre el Modificador Nodos directamente al Gestor de Objetos. Allí, esta entrada funciona entonces como un deformador, por lo que debe subordinarse a los objetos. Por lo tanto, cree directamente un primitivo simple, como un cubo, y asígnele directamente el modificador de nodo. Como todavía no se ha llenado de funciones, por ahora no cambiará nada del cubo.
Por cierto, también puede utilizar el Grupo de Selección de Nodos según el mismo principio, excepto que se utiliza principalmente para manipular o crear selecciones de puntos, aristas o polígonos en el objeto padre.
Para ver y editar el contenido del Grupo Modificador de Nodos, debe abrirse el Editor de Nodos (ver imagen inferior). Para hacer esto, puedes cambiar al diseño de Nodos de Cinema 4D o abrir el Editor de Nodos desde el menú Ventana. Si la entrada Modificador Nodos está seleccionada en el Gestor de Objetos, el Editor de Nodos se abrirá automáticamente en Modo Cápsula y, por tanto, mostrará sólo el contenido y las entradas y salidas de este Nodo de Construcción de Activos. También puede realizar este cambio manualmente en cualquier momento utilizando el menú Modo del Editor de nodos (véase el número 1 en la imagen inferior).
Al lado del número 2 también se puede leer el nombre de la cápsula de activos que se muestra actualmente, por lo que en nuestro caso Nodos Modificador. Además, puede ser útil mostrar directamente el Navegador de Activos y el Gestor de Atributos en los bordes izquierdo y derecho del Editor de Nodos (véase el número 3 en la imagen inferior). De esta forma puede maximizar el Editor de nodos, lo que puede ser útil al procesar configuraciones complejas.
Si ha activado los dos iconos del número 3, el Navegador de Activos (véase el número 4) estará visible a la izquierda y el Gestor de Atributos (número 5) a la derecha. Entre estas áreas se encuentra el Editor de Nodos propiamente dicho, que está enmarcado a la izquierda por el área de entrada (ver número 6) y a la derecha por el área de salida (ver número 7) del Grupo Modificador de Nodos seleccionado. Para nosotros, las entradas y salidas de Geometría son especialmente interesantes. La entrada Geometría de la izquierda proporciona la geometría del objeto al que se subordinó el grupo de construcción de activos en el Gestor de objetos. Este es el cubo en nuestro caso.
Ahora podemos procesar esta geometría dentro de la configuración. El resultado será una geometría modificada que deberá dirigirse a la salida Geometría del grupo para sustituir al cubo original.
Para convertir nuestro Grupo Modificador de Nodos en un activo funcional, basta con añadir un único Nodo que pueda manejar geometría. Puede encontrar un gran número de estos Nodos en el Grupo de Modificadores de Geometría del Navegador de Activos. Allí seleccionamos el Nodo Subdividir y lo arrastramos desde el Navegador de Activos directamente al Editor de Nodos.
En la parte izquierda de este Nodo se encuentra la entrada de una geometría a procesar (dígito 1 en la imagen superior). Basta con crear una conexión entre la entrada Geometría del grupo y la entrada Geometría del Nodo arrastrando una línea de conexión con el ratón. De la misma manera, se establece una conexión entre la salida de Geometría del Nodo (ver número 2) y la salida de Geometría del grupo. Después, ya debería poder ver un cambio en la geometría. Si es necesario, cambie a la visualización de Sombreado Gouraud (líneas) en combinación con wireframe en el Viewport para que se muestren también los bordes del objeto (vea la siguiente imagen).
En nuestro caso, el cubo se subdividirá aún más. Qué tipo de selecciones deben evaluarse (puntos, aristas o polígonos) o con qué frecuencia debe subdividirse el objeto, por ejemplo, puede establecerse tras seleccionar el Nodo Subdividir en el Gestor de atributos (véase el número 3 en la imagen superior).
Los Nodos, como el Nodo Subdividir en nuestro caso, proporcionan muchos ajustes en el Gestor de Atributos, algunos de los cuales también pueden ser de interés para los usuarios del Grupo Modificador de Nodos. Lo único molesto de esto es que siempre tienes que seleccionar el Nodo correspondiente en el Editor de Nodos antes de poder editar su configuración en el Gestor de Atributos. Existe una solución para este problema, ya que cualquier configuración también puede crearse como puertos de entrada en los Nodos y luego enlazarse a la página de entrada del grupo. Haremos esto aquí primero para la configuración del Tipo del Nodo para selecciones, de modo que un usuario pueda seleccionar posteriormente qué elementos seleccionados (puntos, aristas o polígonos) deben utilizarse para restringir la función Subdividir.
La imagen de arriba muestra este proceso. Primero, selecciona el Nodo Subdividir para ver su configuración en el Gestor de Atributos. En la columna marcada con el número 1 en la imagen encontrará pequeños símbolos circulares. Haciendo Cmd/Ctrl+clic en uno de estos círculos hace que el parámetro correspondiente sea directamente visible como un puerto de entrada en el Nodo. Inténtelo con el Tipo Parámetro. Como se ve en el número 2, obtenemos el Tipo Puerto deseado en el Nodo. Este puerto debe estar ahora conectado al lado de entrada del grupo para que sea visible para un usuario del Grupo Modificador de Nodos. Para ello, también debe crearse un puerto en el área de entrada del grupo.
La creación de una entrada de grupo que coincida con la entrada de nodo de Tipo puede crearse mediante una simple acción de arrastrar y soltar. Esto se muestra en la siguiente imagen.
Dibuje una línea de conexión desde la nueva Tipo Entrada del Nodo Subdividir hasta el área de entrada izquierda del grupo y suelte allí el botón del ratón. Aparecerá un pequeño menú contextual en el que podrá seleccionar Añadir Nueva Entrada. Como se puede ver en la mitad inferior de la imagen de arriba, esto crea una nueva Tipo Entrada en el grupo allí, que se conecta automáticamente a la Tipo Entrada del Nodo. En consecuencia, el Tipo Ajuste ya no está disponible en el Gestor de atributos. Puede verlo en la parte derecha de la imagen superior, donde las opciones de Puntos, Aristas y Polígonos ya no están disponibles.
La ventaja de estos pasos es que no tienes que preocuparte por los tipos de datos de los puertos. El tipo de datos y la interfaz de usuario del parámetro original del Nodo se adoptan automáticamente.
Vamos a comprobarlo directamente. Seleccione el Grupo Modificador Nodos en el Gestor de Objetos y eche un vistazo a la pestaña Entradas en el Gestor de Atributos. Ahora debería poder ver y utilizar directamente la opción Tipo (véase la imagen siguiente).
Por supuesto, también puede cambiar el nombre de este nuevo control si lo desea. Para ello, haga doble clic en el nombre de la nueva entrada de grupo en el Editor de nodos e introduzca allí el nuevo nombre. Por ejemplo, aquí utilizamos el término Tipo de selección restrictiva para que un usuario entienda directamente lo que está haciendo con esta configuración (véase el número 1 en la siguiente imagen).
Sin embargo, también se pueden crear nuevos controles para los usuarios independientemente de los puertos de entrada existentes en los Nodos. Esto puede ser útil, por ejemplo, si desea ofrecer un tipo de datos especial o un elemento de control que no se ofrece por defecto en el Nodo a conectar. Por ejemplo, puede utilizar una entrada primero para cálculos matemáticos antes de pasar el resultado a otros Nodos.
En nuestro ejemplo, de esta manera el número de subdivisiones debería poder ser controlado por el Nodo Subdivide. Dado que se trata de un valor entero, sólo se puede utilizar el control Entero para esto. En las entradas de los elementos de la interfaz de usuario del Navegador de Activos encontrará estas entradas:
En principio, los tres elementos son adecuados para nuestro propósito, aunque sólo los valores pequeños y positivos suelen ser útiles a la hora de definir los niveles de subdivisión. También aprenderemos a comprobar la plausibilidad de los valores introducidos por el usuario antes de utilizarlos en la configuración, o a limitarlos automáticamente, si se desea.
En nuestro caso, lo mantendremos simple y arrastraremos la entrada para IO Integer desde el Navegador de Activos al Editor de Nodos. En el grupo se crea automáticamente una nueva entrada para valores enteros. Se puede volver a cambiar el nombre según se desee haciendo doble clic, por ejemplo, con Ssubdivisiones básicas (véase el número 1 en la siguiente imagen). Se utiliza para seleccionar los niveles de subdivisión antes de seguir procesando la geometría.
Al igual que con la conexión del ajuste Tipo, de nuevo necesitamos una entrada adecuada en el Nodo Subdivide, esta vez para el número de subdivisiones. Para ello, seleccione el Nodo y haga Ctrl+clic en el icono del círculo situado junto al valor Subdivisiones en el Gestor de Atributos (véase el número 1 en la siguiente imagen). Aparece la entrada correspondiente en el Nodo (véase el número 2).
Alternativamente, puede añadir nuevas entradas directamente en el Nodo. Para ello, haga clic con el botón derecho del ratón en el Nodo y seleccione Añadir bandeja de entrada en el menú contextual. Sin embargo, para los Nodos que proporcionan muchas configuraciones, puede ser laborioso encontrar el nombre de puerto correcto. Por lo tanto, el método Cmd o Ctrl+clic descrito anteriormente es preferible en muchos casos.
Finalmente, haz la conexión entre el nuevo puerto Subdivisión Base en el grupo y la entrada Subdivisión en el Nodo arrastrando con el ratón. Después de seleccionar el Grupo Modificador de Nodos en el Gestor de Objetos, el Gestor de Atributos muestra ambas configuraciones de usuario. Cambiando gradualmente el valor de las Subdivisiones básicas, podrá observar directamente cómo el cubo se subdivide adicionalmente en mayor o menor medida. Lo único que puede resultar un poco molesto es que este valor aparezca encima de la opción de selección de las selecciones (véase la imagen siguiente). Por lo tanto, exploremos ahora cómo puede influir en el orden de los Datos de Usuario.
El uso de elementos IO del grupo Interfaz de Usuario puede utilizarse no sólo para los activos, sino también para los grupos de Nodos normales para añadir entradas individuales. La única diferencia aquí es que por defecto (a menos que ya contenga Nodos que reciban valores del exterior), un grupo abierto no muestra un rango de entrada o salida. Por lo tanto, es posible que inicialmente falten las zonas grises de los bordes izquierdo y derecho de un grupo abierto. Se crean automáticamente al crear nuevos puertos en el grupo. Las imágenes siguientes lo ilustran.
Se pueden añadir nuevas entradas a un grupo arrastrando una entrada desde el grupo Interfaz de Usuario del Navegador de Activos o - si ya hay Nodos en el grupo - arrastrando y soltando desde una entrada de puerto al Editor de Nodos vacío y seleccionando Añadir Nueva Entrada. Lo mismo puede hacerse con los puertos de salida de los Nodos para añadir salidas a un grupo. Esto puede verse en la parte izquierda de la imagen superior.
Otra opción para añadir y configurar puertos es el Editor de Recursos, que se describe en la siguiente sección.
El orden de los puertos puede cambiarse directamente en los nodos y también en las entradas y salidas de grupo mediante arrastrar y soltar. Esto resulta útil, por ejemplo, para fijar líneas de conexión que se cruzan. Aunque esto no importa para las funciones en sí, puede ayudar a mejorar la claridad de la configuración. Sin embargo, esto no cambia el orden en que se presentan las entradas de grupo en el Gestor de atributos. Aunque esto depende principalmente del orden en que se añadieron las entradas al grupo, también hay una solución para esto: el Editor de Recursos.
Para abrirlo para la configuración actual, haga clic con el botón derecho del ratón en el Editor de nodos y seleccione Editar recurso... en el menú contextual (véase la imagen siguiente).
De particular interés para nosotros es la columna izquierda del Editor de Recursos, que enumera las entradas y salidas actuales en el activo en la parte superior (véase el número 1 de la siguiente imagen) y muestra las opciones disponibles para entradas adicionales a continuación (véase el número 2). Estas opciones son idénticas a los Datos de Usuario del Navegador de Activos que ya utilizamos para crear la entrada IO Integer.
También puede utilizar el Editor de recursos para crear directamente las entradas deseadas en el grupo de activos. Para ello, basta con arrastrar las entradas deseadas de la lista inferior (véase el número 2 en la imagen anterior) directamente bajo la entrada Entradas de la lista superior de puertos (véase el número 1). También en este caso, los puertos añadidos por el usuario pueden renombrarse individualmente haciendo doble clic.
El orden de las entradas en el grupo Entradas refleja automáticamente el orden de los parámetros en el Gestor de Atributos. Ahora puede volver a clasificar de acuerdo. Además, aquí también es más fácil arrastrar los elementos a ordenar, IU - Grupo y IU - Separador de la lista inferior directamente a los lugares deseados en la jerarquía superior. Esto permite incluir subcategorías(IU- Grupo) y separadores simples(IU - Separador) para estructurar listas de parámetros más extensas.
El UI - grupo funciona como un elemento de orden, al que se le puede dar un nombre de grupo y ordenar otras entradas en el Editor de Recursos bajo él.
Al volver a clasificar, asegúrese de que las Subdivisiones Básicas se muestran sólo después de Restringir el tipo de selección y termine esta configuración con un elemento UI - Separador(véase el número 1 de la imagen anterior). A continuación, cierre el Editor de recursos. Los cambios se aplicarán automáticamente.
Hay parámetros que sólo son relevantes si se utilizan configuraciones específicas. Piense, por ejemplo, en el ajuste Ángulo máximo de muchas funciones de modelado, que sólo puede utilizarse tras activar la opción Conservar grupos. Si, por ejemplo, desea que el usuario de un grupo de activos disponga de la configuración de Ángulo máximo, recuerde sacar también la opción asociada para preservar los grupos de polígonos, o asegúrese dentro de la configuración de que también se puede utilizar siempre Ángulo máximo.
Como muestra la siguiente imagen, también puede ocurrir que los parámetros que ya están organizados en grupos en el Nodo también se muestren en subgrupos en el Editor de Recursos y no bajo el grupo Entradas.
Dependiendo de las propiedades o funciones que desee controlar en una configuración mediante la entrada del usuario, puede ser útil personalizar los controles de un parámetro y definir un valor o límites por defecto. Todas estas tareas también pueden realizarse en el Editor de Recursos. Para ello, abra el Editor de Recursos del recurso que contiene los Datos de Usuario y seleccione el valor de Entrada que desea editar en la parte superior izquierda del Editor de Recursos. Ya hemos visto en la sección anterior que también se puede personalizar el orden de las entradas en esta área y que también se pueden insertar aquí grupos o separadores (utilizando los elementos IU - Grupo y IU - Separador ). Sin embargo, para editar la interfaz de un parámetro, eche un vistazo a la columna central del Editor de Recursos.
Como se puede ver en la imagen superior, hay dos páginas de ajustes disponibles, General y Avanzado, siendo los ajustes Generales los que ya contienen las funciones más importantes. Las examinaremos por orden:
Como puede ver en las opciones de configuración anteriores, también es muy fácil añadir controles deslizantes posteriores a parámetros IO - Float sencillos o, por ejemplo, limitar o ajustar los valores permitidos para la entrada.
Echemos también un vistazo rápido a la configuración avanzada del Editor de recursos.
En muchos casos tiene sentido comprobar o convertir los valores introducidos, por ejemplo, para no permitir entradas demasiado altas para las Subdivisiones, lo que podría causar problemas de memoria. También en otros casos, por ejemplo, cuando se introducen valores porcentuales a través de un IO Float - Strength - Slider, éstos pueden convertirse en otros valores numéricos para su posterior procesamiento. Como puede leer en la sección anterior, dichos límites para la entrada de valores pueden especificarse directamente en el Editor de Recursos para cada parámetro que esté esperando una entrada numérica. A veces, sin embargo, estos límites deben convertirse directamente en la configuración, por ejemplo, para determinados cálculos matemáticos. Por lo tanto, en esta sección veremos cómo puede convertir números o restringirlos al rango de valores deseado.
El primer Nodo que se presta a esto es el Nodo Pinza, que puedes encontrar en la categoría Matemáticas del Navegador de Activos. Conecta su puerto de Entrada al puerto Subdivisión Base del grupo una vez como prueba y luego conecta la salida Resultado del Nodo Pinza a la Entrada Subdivisión del Nodo Subdivide. Dado que cada puerto de entrada sólo puede tener una conexión, esto elimina automáticamente la conexión antigua. Si no, también puedes hacer que se elimine la conexión antigua haciendo doble clic sobre ella antes de conectar el Nodo Pinza.
El Nodo Pinza ahora ofrece primero un Tipo de Dato en el Gestor de Atributos que debería corresponder al valor que quieres obtener en su salida Resultado. Así que esto debería ser Integer (abreviatura: Int) de nuevo.
Las especificaciones para Mínimo y Máximo se refieren al rango de valores que desea permitir como máximo. Aunque el valor de Entrada sea inferior al valor Mínimo, sólo se emitirá el valor del Mínimo. En consecuencia, se emitirá el valor máximo de Máximo, aunque se introduzcan valores mucho más altos.
Este Nodo también está en la categoría de Nodos Matemáticos. Este Nodo puede utilizarse para convertir rangos de valores. Por ejemplo, si se introducen valores entre 0% y 100%, pueden salir valores entre 0,0 y 5,0. Los valores de Entrada Mín. y Entrada Máx. definen el intervalo de valores entre los que deben situarse las entradas de usuario permitidas. El Mapeador de rangos no restringe por sí mismo estos valores máximos. Por lo tanto, puede conectar de nuevo un Nodo Clamp delante de la entrada del Nodo Mapeador de Rango para que sólo se procesen los valores comprendidos entre la Entrada Mín y la Entrada Máx. La siguiente imagen muestra un ejemplo de ello.
En el ejemplo anterior, se utiliza un valor porcentual como entrada del grupo a través de un IO Float - Strength - Slider. Si, por ejemplo, allí sólo se van a permitir entradas entre 0% y 100%, podemos conectar un Nodo Pinza como en el ejemplo anterior. Los valores porcentuales se tratan internamente como valores de coma flotante, donde el 100% corresponde al valor 1,0. Por lo tanto, debemos utilizar el valor 0.0 para Mínimo (ver número 1 en la imagen de arriba) y el valor 1.0 para Máximo para el Nodo Pinza(ver número 2). En nuestro ejemplo, no introducimos estos valores directamente en el Nodo, sino que utilizamos Nodos de Valor para ello, que también puede encontrar en la sección Matemáticas del Navegador de Activos. Este Nodo simplemente proporciona el mismo valor en la salida de Resultados que se introdujo en el Nodo. Esto siempre es útil cuando se van a utilizar valores idénticos en varios Nodos. En ese caso, este valor sólo tiene que editarse una vez en el Nodo de Valor y luego está disponible directamente en todos los Nodos conectados a él.
En nuestro caso esto afecta a las dos entradas ya mencionadas para Input Min y Input Max en el Nodo Range Mapper. Así que haga las conexiones apropiadas entre estas entradas y los Nodos de Valor. Se ha definido un rango de entrada fijo y puede concentrarse en los valores de Salida más pequeña y Salida más grande, que puede introducir directamente en el Mapeador de rangos. El cálculo de la salida de resultados se realizará entonces según la regla de tres clásica. Las entradas comprendidas entre el 0% y el 100% pueden convertirse automáticamente en los valores comprendidos entre la salida más pequeña y la salida más grande.
En algunos casos puede ser útil simular un comportamiento de bucle para los valores. Imagine, por ejemplo, valores angulares que se convierten automáticamente al intervalo de valores comprendido entre 0° y 359,999°, aunque sean inferiores a 0° o superiores a 360°. A diferencia de la limitación dura de los valores de Entrada, como ocurre con el Nodo Pinza, los aumentos o disminuciones de un valor de Entrada siguen dando lugar a nuevos valores ajustados, pero éstos también se encuentran entre límites fijos. La entrada de ángulo 400° conduce entonces, por ejemplo, al valor de resultado 40°, ya que las rotaciones completas de 360° restadas de 400° dan como resultado un ángulo residual de 40°.
Esta función matemática existe como un Nodo Modulo en el grupo de Nodos Matemáticos.
Como se muestra en la imagen anterior, el Modulo tiene dos entradas. En la entrada inferior, introduzca siempre el valor máximo permitido. Si desea limitar los valores angulares entre 0° y 360°, por ejemplo, introduzca 360. El Modulo generalmente trabaja con un límite inferior de 0, es decir, sólo permite valores entre 0 y el valor de la entrada inferior como resultado.
Al procesar ángulos, tenga en cuenta que muchos Nodos Matemáticos esperan ángulos en radianes. 360° corresponden al valor 2*pi. Para esta conversión, utiliza el Nodo Unidad Angular del grupo Nodo Conversión.
En la entrada superior, por ejemplo, se pasa el valor definido por el usuario al Nodo Modulo. En la salida Resultado obtendrá siempre valores comprendidos entre 0 y el valor de la segunda entrada. Con referencia a los ejemplos de la imagen anterior, los resultados se crean como sigue:
El valor de la Entrada 2 se utiliza generalmente de forma positiva, pero el valor de la Entrada 1 también puede ser negativo. En nuestro ejemplo con los ángulos, una entrada de -400° conduciría por tanto al Resultado -40°.
A menudo, la entrada de un usuario se puede utilizar en varias ubicaciones dentro de la configuración del Nodo. Por esta razón, las entradas de un grupo o de un bien también pueden conectarse a varias entradas de un Nodo o de diferentes Nodos al mismo tiempo. Sin embargo, dependiendo de la posición de estos nodos en la configuración, puede resultar confuso si las conexiones se entrecruzan en una configuración. En estos casos, puede ser útil desacoplar los puertos de entrada. He aquí un ejemplo sencillo.
Como se ve en el ejemplo anterior, la legibilidad y claridad de la configuración se mejora utilizando los valores de Entrada directamente en los Nodos donde se procesan. Para ello, basta con arrastrar el nombre de la entrada correspondiente desde el borde izquierdo del grupo hasta la configuración. Se creará un tipo especial de Nodo, que proporcionará el valor de la entrada correspondiente. Se puede crear cualquier número de estos Nodos IO Flotantes en la configuración.
Con unos pocos Nodos adicionales podemos ahora completar nuestra configuración y obtener un resultado interesante con ella. Una selección de Ruido creará una selección aleatoria de polígonos en el objeto subdividido. Para ello, cree las opciones Umbral e Invertir como entradas de usuario del grupo.
Se pasa el resultado de la selección de Ruido a un Nodo Bisel Polígono para extruir estos polígonos, escalándolos según sea necesario. Aquí puede, por ejemplo, dar salida a los valores de las funciones Desplazamiento y Extrusión interior.
Compara el resultado de un Nodo recién creado con la geometría de la selección de Ruido. Esto le dará una selección que contiene sólo los nuevos polígonos creados por Bisel Polígono. Finalmente, si pasas esta selección de Polígonos a otro Nodo Subdividir, que esta vez también tiene activada la opción Suave, su subdivisión de redondeo se limitará sólo a estas nuevas áreas de geometría. Conecte la geometría de salida a la salida Geometría del grupo para poder ver el resultado del cálculo también en los Viewports.
A continuación encontrará un listado completo de todos los elementos IO que puede utilizar para activos o incluso grupos en configuraciones de Nodo para definir entradas y salidas individuales.
Estos elementos son útiles cuando se desea ofrecer a los usuarios un menú desplegable o varios modos como botones. Por defecto, cada uno de estos elementos tiene tres opciones de selección, que puede renombrar como desee en el Editor de Recursos. Ambos elementos IO devuelven valores enteros comenzando en 0 para el primer elemento de la lista. Puede convertir estos valores en cualquier otro, por ejemplo, con un Nodo de conmutación.
Permite añadir un puerto de salida individual, por ejemplo, en un grupo. El tipo de datos de esta salida aún no está definido, pero puede configurarse individualmente a través del Editor de Recursos.
Este elemento proporciona una simple opción o casilla de verificación, por ejemplo, para activar o desactivar una función. La salida puede utilizarse como un valor numérico, donde 0 es la salida cuando está desactivada y 1 cuando está activada. Al mismo tiempo, sin embargo, los resultados también pueden interpretarse como falso (desactivado) y verdadero (activado) y, por tanto, evaluarse directamente con un Nodo Operador Booleano, por ejemplo.
Se trata de un formato especial de datos vectoriales destinado exclusivamente a transferir las relaciones de aspecto y el tamaño de un cuadro delimitador. Por esta razón, este elemento no proporciona una interfaz de usuario. Este elemento podría, por ejemplo, conectarse con la salida Bounding Box del Nodo con el mismo nombre.
Hay dos elementos disponibles para introducir y transmitir información sobre el color, IO - Color e IO - Color Alpha. Son básicamente idénticos, excepto que IO - Color Alfa incluye un valor porcentual adicional para determinar la opacidad del color. Ambos elementos proporcionan datos vectoriales donde los componentes X, Y y Z representan los componentes de color rojo, verde y azul y se almacenan como valores de coma flotante entre 0,0 y 1,0. IO - Color Alfa incluye un componente alfa adicional cuyo valor también puede LIE entre 0,0 y 1,0. Ambos tipos de datos pueden leerse y procesarse como Color o ColorAlpha, así como Vector3d o Vector4d.
Los valores en coma flotante, es decir, los valores numéricos que también tienen una parte decimal, como 3,4151, son especialmente flexibles para su uso en cálculos matemáticos o cuando es necesario introducir valores con precisión. Este tipo de datos también puede vincularse a unidades, por ejemplo, para representar porcentajes, ángulos o dimensiones. Por lo tanto, existen diferentes variantes de este tipo de datos. En todos los casos, sin embargo, se obtienen simples valores numéricos. Sólo difieren las unidades mostradas y los controles. Además, algunos de estos elementos ya están limitados a un rango numérico, de modo que en determinadas circunstancias se pueden introducir números no arbitrarios.
Este tipo de datos está destinado específicamente al intercambio de información relacionada con la geometría de un objeto. Esto incluye, por ejemplo, las posiciones de los puntos de una superficie o una spline, los pares de puntos que están conectados a aristas, los puntos que delimitan polígonos o las tangentes de una spline. Debido a la complejidad de este tipo de datos, no se proporciona ningún elemento de control. En su lugar, debes utilizar los puertos de Geometría de los Nodos para pasar o aceptar datos en ese puerto.
Con estos elementos se pueden intercambiar valores enteros. Utilice este tipo de datos sólo si no tiene intención de realizar cálculos más complejos con estos valores. En caso contrario, puede utilizarse el tipo de datos IO Float. Los valores enteros son útiles, por ejemplo, para definir un número de subdivisiones o copias.
Una matriz se compone de varios vectores que permiten definir, entre otras cosas, la posición, el tamaño y la rotación de un sistema de ejes o de un objeto en el espacio. Este control es, por tanto, idéntico a la sección Coordenadas de los objetos.
Se trata de un formato de datos especial(tupla) a través del cual se pueden transmitir dos vectores simultáneamente. Este tipo de datos está destinado al control de un par tangente. Cada vector controla la dirección y longitud de una tangente en un punto de la spline (sólo se aplica a splines Bezier). Este tipo de datos no tiene interfaz de usuario y, por lo tanto, sólo está pensado para conectar Nodos que proporcionen información tangente.
Este elemento proporciona un campo de entrada de cadena a través del cual se pueden introducir, por ejemplo, nombres para un objeto o una selección guardada.
Al igual que con el elemento IO- Text, aquí se proporciona un campo para la entrada de una cadena. Además, encontrará un icono de carpeta a la derecha del campo de texto, a través del cual abrirá un diálogo de archivo. De este modo, se puede seleccionar cualquier directorio, por ejemplo, para cargar o guardar datos.
Los vectores están formados por varios valores en coma flotante que permiten describir, por ejemplo, un valor de color RGB, una posición en el espacio o un vector de dirección. Están disponibles los siguientes elementos vectoriales:
Este elemento proporciona un campo de entrada para un número de fotograma para definir un punto en el tiempo dentro de una animación. Esta información podría utilizarse, por ejemplo, para ejecutar una función o un cálculo sólo a partir de un momento determinado.
Bajo este término se encuentran los distintos tipos de datos que ya se han descrito anteriormente como elementos individuales. La diferencia aquí es que IO - Arrays no puede proporcionar una interfaz de usuario. Un array corresponde a una lista de longitud variable. De esta forma se pueden almacenar varios valores de un determinado tipo de datos. Por ejemplo, piense en un Array IO - Vectores - Puntos, a través del cual se pueden almacenar todas las coordenadas de los puntos de una geometría.
Las matrices pueden, por ejemplo, crearse con un Nodo Construir, una Matriz de Conjunto o una Matriz de Relleno propiamente dicha y rellenarse añadiendo valores. En general, la mayoría de los Nodos que manejan valores de matrices se encuentran en el grupo Estructuras de Datos del Navegador de Activos.
Dado que todos los tipos de datos IO - array no proporcionan una interfaz directa para la entrada de valores, estos elementos IO son principalmente interesantes para los puertos responsables de la entrada o salida de arrays a grupos. A continuación se muestra un ejemplo sencillo de cómo crear y dar salida a una matriz.
Como puedes ver en la imagen de arriba, hemos creado Datos de Usuario para IO - Vector - Tamaño y IO - Punto Flotante - Tamaño para poder definir una posición y un valor de radio en un Grupo Modificador de Nodos. El efecto del activo debería ser seleccionar y extruir automáticamente todos los polígonos cuyos puntos se encuentren dentro de un radio de esfera alrededor de una posición dada. Técnicamente, lo implementamos como se muestra en la siguiente imagen:
Utilizamos un nodo de lectura de propiedades de geometría con el ajuste de tipo Puntos 3D para obtener una matriz con todas las posiciones de puntos locales de la geometría suministrada. Se trata de una matriz de vectores 3D. Para poder dar salida a un array entrada a entrada, se conectará un Nodo Iterate Collection(ver número 1 en la imagen). Esto convierte la matriz en un flujo de datos que proporciona todos los elementos de la matriz uno tras otro. De esta forma, en general, se pueden mostrar todos los elementos de una matriz en orden.
Los vectores individuales de la matriz de salida representan las posiciones de los puntos locales de la geometría y pueden convertirse en posiciones de puntos globales multiplicándolos por la matriz global del objeto del que procede la geometría. Para ello se utiliza el Nodo Vector Transorm. La distancia entre el punto convertido de esta forma y el centro de selección por defecto se calcula con un Nodo Distancia y se compara con el radio de selección utilizando la función <=. Si la distancia calculada es menor o igual que la predeterminada, el Nodo Comparar devuelve el valor 1 (o verdadero), en caso contrario el valor 0 (o falso).
Mediante un Nodo Construir Matriz(ver número 2) podemos definir una nueva matriz del tipo de datos Entero, de forma que podamos retener en ella los números de los puntos a seleccionar. Haciendo clic en el botón Truncar del Nodo Construir Matriz, podemos eliminar todas las entradas para crear una matriz completamente vacía. Mediante un nodo posterior Append Elements(véase el punto 3), ahora se pueden añadir valores enteros a la matriz. El número de entradas de la matriz aumenta automáticamente según el valor de Count. Si el Resultado del Nodo de Comparación está conectado allí, el nuevo array se amplía siempre con una entrada sólo si se ha encontrado un punto dentro del radio de búsqueda(Resultado = 1). El número de índice de este punto se añade al array (ver Conexión entre la salida Índice del Nodo Iterar Colección y la entrada Valor del Nodo Añadir Elementos) . De esta forma, se crea un array de selección que se puede utilizar donde se quiera. Por ejemplo, las funciones de modelado pueden restringirse a una selección.
En nuestro caso, al final sólo hay que convertir la selección de puntos en una selección de polígonos, para poder utilizar, por ejemplo, el comando Extruir como se desee. Para ello se dispone del Nodo de Selección de Transferencia.
Estos elementos no sirven para transmitir datos, sino para estructurar la interfaz cuando se utilizan varios elementos IO. Con IO - Grupo se creará un grupo en el que podrá disponer otros elementos IO. Este grupo puede completarse con entradas a través del Editor de Recursos. En la interfaz, aparecerá el nombre del grupo y las entradas clasificadas en él podrán hacerse visibles u ocultarse expandiendo o contrayendo el grupo.
El separador IO es una línea horizontal que puede utilizarse para dividir listas más largas de elementos IO y para separar visualmente en mayor grado los ajustes relacionados. De nuevo, se puede utilizar el Editor de Recursos para colocar un Separador IO - en el lugar deseado entre las configuraciones.
Ambos elementos, IO - Grupo e IO - Separador, sólo pueden crearse en el Editor de Recursos.