Comprensión de los nodos - Guía del usuario de Lumberyard

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprensión de los nodos

Un nodo en Script Canvas se compone de una barra de título, entradas y salidas.


            Anatomía de un nodo en Script Canvas.

Barra de título— La barra de título de un nodo está en una banda coloreada en la parte superior del nodo. Una barra de título puede incluir un subtítulo, pero no todos los nodos tienen subtítulos.

Entradas deLocalizado en el lado izquierdo del nodo. Una entrada puede ser una ejecución, o lógica, entrada o una entrada de datos. Las entradas de ejecución hacen que el nodo actúe. Las entradas de datos proporcionan al nodo los datos que necesita para realizar el procesamiento o para toma de decisiones.

SalidasLocalizado en el lado derecho del nodo. Las salidas también son de ejecución o relacionadas con datos.

Entradas, salidas y tipos de conexión

Lumberyard tiene dos tipos principales de pines y conexiones. Algunas entradas y salidas determinan el flujo de la lógica y el orden de ejecución. Otras entradas y salidas transfieren datos desde un nodo al siguiente.

Entradas lógicas, salidas y conexiones

La ejecución de un script se basa en las entradas y salidas triangulares en cada nodo. Estas conexiones determinan el orden de ejecución. AScript CanvasEl script de se ejecuta cuando la entidad asocia al script se activa. Los nodos se conectan desde las entradas en su lado izquierdo. Tras finalizar la ejecución, activan nodos conectados a sus salidas en el lado derecho.

Un pin de lógica de salida con varias conexiones ejecuta una ramificación de lógica en secuencia. Esta secuencia de ejecución se ve determinada por el orden en el que se establecieron las conexiones, desde la más antigua a la más reciente. Si se requiere un orden de ejecución específico, puede especificar el orden de secuencia utilizando un único flujo de lógica o un nodo Sequencer (Secuenciador).

Un pin de lógica entrante con varias conexiones se ejecuta cada vez que el flujo de lógica activa el nodo. Por ejemplo, si un nodo se activa desde tres nodos diferentes en un script, el nodo se ejecuta tres veces.

Entradas de datos, salidas y conexiones

Las conexiones de datos permiten que los scripts lean y escriban datos entre nodos. Los datos se leen desde el lado derecho de un nodo y se establecen en el lado izquierdo de otro nodo.

Establecimiento de conexiones

Las conexiones se pueden realizar solo entre pines del mismo tipo. Por ejemplo, las conexiones lógicas solo se pueden realizar entre pines lógicos y las conexiones de datos solo se pueden establecer entre pines de datos del mismo tipo. No puede crear conexiones entre pines incompatibles, como un pin de lógica y uno de datos.

Para establecer una conexión

  1. En el navegadorScript CanvasEn el lienzo del editor arrastre desde el pin de entrada de un nodo al pin de salida de otro nodo. Esto crea una línea de conexión entre ambos pines.

  2. Para mover una conexión de un pin a otro, arrastre el extremo de una línea desde un pin y suéltela en otro pin.

    Para eliminar una conexión, haga clic con el botón derecho del ratón y seleccione Delete (Eliminar). También puede mantener pulsada la tecla Alt y, a continuación, hacer clic en la conexión para eliminarla.

Nodos de variables

Los nodos variables habilitan a Script Canvas para leer o escribir variables específicas.


                Nodo variable en Script Canvas.

                Nodo variable en Script Canvas.

Otra forma de leer o escribir una variable es usar referencias de variables en un pin de datos de nodo.

Para obtener más información sobre el uso de variables en Script Canvas, consulteAdministración de variables de Script Canvas.

Para obtener más información sobre cómo crear referencias a variables, consulteAgregar referencias de variables en nodos de Script Canvas.

Nodos de evento

En LumberyardSistema de bus de eventos (EBus), se pueden enviar o recibir eventos, por lo que Script Canvas tiene nodos de remitente y nodos de receptor.

Nodos de remitente

Los remitentes de eventos envían eventos directamente a una entidad específica o difunden eventos a todas las entidades que están escuchando y están interesadas en gestionar el evento. La mayoría de eventos son direccionables, lo que significa que se pueden enviar a una entidad específica. Dado que los eventos suelen enviarse a entidades, el tipo de dirección más común es Entity Id, aunque se pueden utilizar otros tipos de direcciones.

En el siguiente ejemplo se utilizan eventos Light para crear un nodo de remitente.

Para crear un nodo de remitente

  1. En el cuadro de búsqueda Node Palette (Paleta de nodos), escriba Light. Los resultados muestran nodos relacionados con luz.

    
                            Nodos relacionados con la luz en el lienzo de scriptNode Palette.

    En Node Palette (Paleta de nodos), los eventos son las entradas azul oscuro. Todos los eventos de remitente relacionados con luz ofrecen una forma de comunicarse, configurar o modificar el comportamiento de un determinado componente de luz. Puede enviar cualquiera de los eventos de remitente relacionados con luz a una entidad que tenga un componente de luz. Si la entidad a la que pertenece el gráfico de Script Canvas de también tiene un componente de luz, se puede enviar el evento a sí misma.

  2. Arrastre Turn On (Encender) o Turn Off (Apagar) al lienzo para crear un nodo de remitente.

    
                            Componente LightActivaren Script Canvas.
    
                            Componente LightDesactivaren Script Canvas.

    El pin Source (Origen) del nodo del remitente hace referencia a la entidad que envía el evento. El valor predeterminado esEl mismo, lo que significa que envía eventos Light para la misma entidad donde el componente Script Canvas está activado. Sin embargo, puede cambiar el origen en cualquier entidad en el mundo del juego.

    El pin State (Estado) es un valor booleano que controla el estado de la luz.

Nodos receptor

Un receptor de evento implementa un comportamiento particular cuando recibe un evento particular.

El ejemplo siguiente crea un nodo de receptor para un evento de luz.

Para crear un nodo receptor

  1. En el cuadro de búsqueda Node Palette (Paleta de nodos), escriba Turn.

    En la lista de resultados, receptores de evento como Turned Off (Apagado) y Turned On (Encendido) tienen un icono azul claro.

    
                            Algunos nodos de receptor de eventos en el lienzo de scriptNode Palette.
  2. Arrastre Turned On (Encendido) al lienzo para crear un nodo de receptor.

    
                            Componente LightActivadonodo receptor de eventos.

    El pin Source (Origen) del nodo del receptor hace referencia a la entidad desde la que se recibió el evento. El valor predeterminado es Self, lo que significa que el nodo recibe eventos Light para la misma entidad donde el componente Script Canvas está activado. Puede cambiar el destino a cualquier entidad en el mundo del juego.

    En Lumberyard v1.24 y versiones posteriores, también puede especificar el destino utilizando unReferencia de variables. Cada vez que cambie la variable, el controlador de EBus actualizará el origen para que coincida con la referencia de la variable.

  3. Haga clic en Add/Remove Events (Agregar/quitar eventos).

    Dado que los nodos de receptor suelen ser contenedores para varios eventos, puede hacer clic en Add/Remove Events (Agregar/quitar eventos) para ver y agregar cualquiera de los receptores de evento disponibles para un componente dado. En este caso, el componente Light expone dos eventos: DesactivadoyActivado.

    
                            Adición de un evento a un nodo de receptor en Script Canvas.
  4. Seleccione la casilla de verificación Turned Off (Apagado) para agregar el evento Turned Off (Apagado) al nodo de receptor.

    Aparece una segunda banda azul en el nodo. El nodo está escuchando ahora los eventos Turned On (Encendido) y Turned Off (Apagado).

    
                            Un nodo de receptor con dos eventos en Script Canvas.
  5. Vuelva a hacer clic en Add/Remove Events (Agregar/quitar eventos) y desactive la casilla de verificación Turned Off (Apagado). El evento Turned Off (Apagado) se quita del nodo de receptor.

Visualización y uso de controles de conexión

Todos los nodos de receptor tienen pins relacionados con la conexión, o controles, que están ocultos de forma predeterminada. Puede utilizar estos controles para administrar cuando se conecta o desconecta un evento (conectado significa que el evento está listo para recibir eventos y desconectado que el evento no está recibiendo eventos). Los controles de conexión también pueden notificarle cuándo se conecta, desconecta o experimenta un error un nodo.

El ejemplo siguiente utiliza el nodo de evento Turned On (Encendido) del componente Light.

Para habilitar y utilizar controles de conexión de pantalla

  1. Asegúrese de que Node Inspector (Inspector de nodos) esté visible. En el editor de lienzo de script, elijaVista,Node Inspector (Inspector de nodos)O pulseCtrl+Mayús+I.

  2. Haga clic en el nodo Turned On (Encendido) de Light para seleccionarlo.

    
                                Haga clic para seleccionar un nodo en el editor de Script Canvas.
  3. En Node Inspector (Inspector de nodos), seleccione Display Connection Controls (Mostrar controles de conexión).

    
                                SelectDisplay Connection Controlsen laNode Inspector (Inspector de nodos).

    El nodo Turned On (Encendido) del componente Light se amplía para proporcionar los pines relacionados con la conexión.

    
                                Nodo de receptor ampliado con controles de conexión.
    • ConectaryDesconectar— Use laDesconectarpara evitar que el nodo receptor se conecte. Cuando el evento deba conectarse y estar disponible para recibir eventos, utilice el pin Connect (Conectar).

      Los pines Connect (Conectar) y Disconnect (Desconectar) son especialmente útiles al trabajar con el evento On Tick (En marca). Por ejemplo, si tiene una operación compleja que no quiera procesar en cada marca de verificación del juego, puede desconectar el evento On Tick (En marca) hasta que sea necesario.

      nota

      Al habilitar la propiedad Display Connection Controls (Mostrar controles de conexión) de un nodo receptor, el nodo ya no se conecta automáticamente. En este caso, Script Canvas supone que desea especificar cuándo se produce la conexión.

    • OnConnected— Se activa cuando el evento se conecta correctamente. Este pin resulta útil si desea para continuar la ejecución a lo largo de la ruta de conexión cuando se produce la conexión.

    • OnDisconnectedSe activa cuando el evento se desconecta correctamente. Este pin es útil si desea continuar la ejecución a lo largo de la ruta de desconexión se produce cuando la conexión.

    • OnFailure— Un evento no se puede conectar si requiere un origen y no se proporciona ningún origen, o se proporciona un origen no válido. El pin OnFailure muestra información de diagnóstico que puede utilizar para verificar si los datos de dirección se han especificado correctamente en el pin Source (Origen) del nodo receptor.

ejemplo

En el siguiente ejemplo, Display Connection Controls (Mostrar controles de conexión) está habilitado para el nodo de receptor de eventos On Tick (En marca). El evento Tick (Marca) se desconecta al inicio de la vida útil del gráfico. Cuando la luz está encendida, el ejemplo cambia el color de la luz aleatoriamente para cada marca.


                            Control delOn TickEvento utilizando controles de conexión.