Script Canvas Tutorial: Apertura y Cerrar una puerta con áreas de activación y variables - Lumberyard Guía del usuario

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Script Canvas Tutorial: Apertura y Cerrar una puerta con áreas de activación y variables

En el siguiente tutorial, creará una puerta que se abre y cierra cuando el controlable La esfera entra y sale de un área de disparador.

ejemplo


                Ejemplo Script Canvas para la creación de un área de disparador.

Esto implica varias tareas:

  • Crear un área de disparador

  • Añadir nodos de eventos

  • Añadir variables

Prerequisites

Paso 1: Crear una puerta y área de activación

Para crear una puerta y un área de disparador, cree una entidad con entidades secundarias y, a continuación, añada Componentes de a las entidades secundarias.

Para crear una puerta y un área de disparador

  1. En Lumberyard Editor, haz clic con el botón derecho en el botón Perspectiva ventanilla cerca de tu esfera controlable y elige [EMPTY] entidad.

    
                            Crear una entidad en la Perspectiva
                                en la ventanilla.
  2. En la pestaña Entity Inspector, para Nombre, introduzca Door Group.

  3. Haga lo siguiente para crear una puerta:

    1. En la pestaña Entity Outliner, haga clic con el botón derecho Grupo de puertas y elige [EMPTY] entidad secundaria. Esta entidad secundaria es su puerta.

    2. En la pestaña Entity Inspector, para Nombre, introduzca Door Mesh.

      
                                    Crear una entidad secundaria denominada Puerta
                                            Malla.
    3. Para el Malla de puerta entidad, haz clic en [EMPTY] Componente y, a continuación, elige la opción Mesh componente.

    4. En la pestaña Malla componente, para Malla activo, haga clic en el icono de exploración (...) y seleccione el icono SamplesProject\Objects\Primitives\box_1x1.cgf del archivo.

      
                                    Seleccione el archivo de malla para crear un
                                            Malla para tu
                                        entidad.
    5. Haga clic en Añadir componente y, a continuación, elige la opción Física estática componente.

    6. Haga clic en Añadir componente y, a continuación, elige la opción Colisionador de malla componente. Este componente define la forma de colisión para el Malla de puerta entidad.

    7. En la pestaña Transform componente, para Escala, conjunto X de 2.5de Y de 0.5, y Z de 4.0.

    8. Verifique que su Malla de puerta la entidad tiene el aspecto el siguiente.

      ejemplo

      
                                        Consulte los componentes y la configuración del
                                                Malla de puerta entidad.
  4. Haga lo siguiente para crear un área de disparador:

    1. En la pestaña Entity Outliner, haga clic con el botón derecho Grupo de puertas y elige [EMPTY] entidad secundaria. Esta entidad secundaria es su desencadenante del área.

    2. En la pestaña Entity Inspector, para Nombre, introduzca Door Trigger.

    3. Haga clic en Añadir componente y, a continuación, elige la opción Área de activación componente.

    4. Con la función Mover herramienta, ajusta la Gatillo de puerta de modo que su posición Z encaja en Malla de puerta entidad.

    5. En la pestaña Área de activación componente, hacer clic en Añadir componente obligatorio y elige Forma de la caja.

    6. Para el Forma de la caja componente, para Dimensiones, conjunto X de 3.0de Y de 9.0, y Z de 6.0.

    7. Haga clic en Añadir componente y, a continuación, elige la opción Lona de guión componente.

    8. En Lumberyard Editor, elige Herramientas, Script Canvas.

    9. En la pestaña Script Canvas del editor, selecciona [EMPTY]de Nuevo [EMPTY].

    10. Después de que se cargue el nuevo lienzo, elija [EMPTY], [EMPTY].

    11. Para Nombre de archivo, introduzca door y luego haz clic en [EMPTY].

    12. En la pestaña Script Canvas haz clic en el botón examinar (.), selecciona el icono door.scriptcanvas y, a continuación, haz clic en correcto.

  5. Verifique que su Gatillo de puerta La entidad tiene un aspecto similar al siguiente.

    ejemplo

    
                                Consulte los componentes y las propiedades del Puerta
                                        Disparador entidad.

Paso 2: Creación de un script para abrir y cerrar la puerta

Ahora que ha configurado la puerta y el área de disparador, puede crear un script que abra y cierra la puerta cuando otra entidad entra o sale del área de disparador.

Para crear un script que abra y cierre la puerta

  1. En la pestaña Script Canvas , abre el door.scriptcanvas del archivo.

  2. En la pestaña Paleta de nodos, introduzca trigger en el cuadro de búsqueda y debajo de Juegode Área de activación, arrastrar En el área introducida al lienzo.

    nota

    Con este nodo de eventos puede utilizar fácilmente el Lumberyard Mensajería EBus del sistema. Para obtener más información, consulte Trabajar con el sistema de bus de eventos (EBus).

  3. En la pestaña Área de activación del nodo, haz clic en Añadir/eliminar Eventos y luego seleccione el botón En el área Salido casilla de verificación. De esta forma se exponen los eventos introducidos y salidos desde el paso Área de activación Bus electrónico.

    
                            Añada el campo Área de activación del nodo en
                                    Script Canvas del editor de.
  4. En el panel inferior derecho, en la pestaña Gestor de variables, haz clic en Crear variable.

    nota

    Puede almacenar y modificar valores persistentes en el gráfico con la variable nodos. Para obtener más información, consulte Gestión Script Canvas Variables.

  5. Seleccionar Vector3 (Vector 3), doble clic Variable [EMPTY] y luego cambia el nombre de la variable a opened_position.

  6. En la pestaña Inspector de nodos, especifique 2 para Z del valor de. A el valor positivo para el eje z desliza la puerta hacia arriba. Porque la entidad de puerta es un niño de Grupo de puertas, puede especificar un familiar local para controlar las posiciones abierta y cerrada de la puerta.

  7. Crear otro Vector3 (Vector 3) variable y asígnele un nombre closed_position. Mantenga el valor predeterminado de 0de 0de 0.

  8. Crear otro Vector3 (Vector 3) variable y asígnele un nombre current_position. Mantenga el valor predeterminado de 0de 0de 0. Esta variable establece la posición actual de la puerta.

  9. Crear otro Vector3 (Vector 3) variable y asígnele un nombre destination_position. Mantenga el valor predeterminado de 0de 0de 0. Esta variable establece la posición de destino de la puerta cuando la entidad entra y sale del disparador del área.

    ejemplo

    Deberías tener cuatro Vector3 (Vector 3) de variable, como el siguiente.

    
                            Variables de Vector3 para el Variable
                                Responsable.
  10. En la pestaña Gestor de variables, haga lo siguiente:

    1. Seleccione y arrastre el posición_abierta del nodo en el del lienzo y haz clic en Conseguir posición_abierta.

    2. Seleccione y arrastre el posición_cerrada del nodo a el lienzo y haz clic en Conseguir posición_cerrada.

    3. Seleccionar y arrastrar dos posición_destino del lienzo y, a continuación, haga clic en Establecer posición_destino.

  11. En el lienzo, realice las siguientes conexiones:

    1. Desde En el área introducida, arrastra el Fuera para conectarlo al En pin de un Conseguir posición_abierta del nodo.

    2. Desde En el área de salida, arrastra el Fuera para conectarlo al En de Conseguir posición_cerrada del nodo.

    3. Desde Obtener posición_abierta, arrastra el Fuera para conectarlo al En de Establecer posición_destino del nodo.

    4. Desde Obtener posición_abierta, arrastra el Vector3 (Vector 3) para conectarlo al Vector3 (Vector 3) de Establecer posición_destino del nodo.

    5. Desde Obtener posición_cerrada, arrastra el Fuera para conectarlo al En pasador del otro Establecer posición_destino del nodo.

    6. Desde Obtener posición_cerrada, arrastra el Vector3 (Vector 3) para conectarlo al Vector3 (Vector 3) pasador del otro Establecer posición_destino del nodo.

    7. Verifique que su door.scriptcanvas gráfico tiene un aspecto similar al siguiente.

      ejemplo

      
                                    Conecte el Área de activación del nodo a
                                        los nodos de variable.
  12. Haga lo siguiente para obtener el Malla de puerta de la entidad posición e interpolar al destino:

    1. En la pestaña Paleta de nodos, introduzca get local en el cuadro de búsqueda.

    2. Por debajo de Entidadde Transformación, arrastrar Obtener traducción local al lienzo. Usted puede utilizar este nodo para obtener la posición actual del Puerta Malla entidad e interpolan al destino. A la traducción local se aplica a la traducción del familiar de la entidad a su principal.

    3. En la pestaña Obtener traducción local nodo, pausar en el Fuente y haz clic en el botón botón. Cuando se selecciona, el botón de destino tiene un color naranja el esquema.

      
                                    Obtener traducción local
                                        del nodo.
    4. En la pestaña Entity Outliner, selecciona Malla de puerta para asignar el Puerta Malla entidad a la Fuente en la propiedad Obtener traducción local del nodo.

      
                                    Añada el campo Malla de puerta entidad como el
                                        de origen para el Obtener traducción local
                                        del nodo.
      nota

      Para restablecer una referencia de entidad, haga doble clic con el botón derecho del ratón en la pestaña Fuente y selecciona Establecer en uno mismo.

    5. En la pestaña Script Canvas del editor, desde ambos Establecer posición_destino los nodos, arrastre el Fuera para conectarlo al En pasador para Conseguir local Traducción.

      
                                    Conecte el Establecer
                                            posición_destino de variable a la
                                            Obtener traducción local
                                        del nodo.
      nota

      Cuando varias conexiones introducen un único pin lógico, el nodo se ejecuta cada vez que se activa cualquiera de las ejecuciones. El nodo es ejecutado más de una vez en el mismo juego, marcar si hay varios Las ejecuciones de se activan simultáneamente.

  13. Haga lo siguiente para ejecutar nodos durante un periodo de tiempo especificado, en segundos:

    1. En la pestaña Gestor de variables, arrastrar posición_actual al lienzo y haz clic en Establecer posición_actual.

    2. Desde Obtener traducción local, arrastra el Fuera para conectarlo al En de Establecer posición_actual del nodo.

    3. Desde Obtener traducción local, arrastra el Traducción para conectarlo al Vector3 (Vector 3) de Establecer posición_actual del nodo.

    4. En la pestaña Paleta de nodos, introduzca duration en el cuadro de búsqueda y debajo de Tiempo, arrastrar Duración al lienzo.

    5. Desde Establecer posición_actual, arrastra el Fuera para conectarlo al [EMPTY] de Duración del nodo. Activación de la Duración El nodo restablece la hora.

    6. En la pestaña Duración nodo, para Duración, introduzca 1.0 (segundos).

      ejemplo

      
                                        Conecte el Obtener traducción local
                                            del nodo en el Establecer posición_actual nodo
                                            a la Duración del nodo.
  14. Haga lo siguiente para configurar la interpolación entre la posición actual y el destino:

    1. En la pestaña Gestor de variables, seleccionar y arrastrar posición_actual al lienzo y luego haz clic en Obtener posición_actual.

    2. En la pestaña Gestor de variables, seleccionar y arrastrar posición_destino al lienzo y luego haz clic en Obtener posición_destino.

    3. En la pestaña Paleta de nodos, introduzca lerp en el cuadro de búsqueda y debajo de Matemáticasde Vector3 (Vector 3), arrastrar [EMPTY] desde el paso [EMPTY] Paleta al lienzo. Este nodo combina dos valores basado en el Porcentaje propiedad.

    4. Desde Duración, arrastra el Fuera para conectarlo al En de Conseguir posición_actual del nodo.

    5. Desde Duración, arrastra el Caducado para conectarlo al Porcentaje de [EMPTY] del nodo.

    6. Desde Obtener posición_actual, arrastra el Fuera para conectarlo al En de Conseguir posición_destino del nodo.

    7. Desde Obtener posición_actual, arrastra el Vector3 (Vector 3) para conectarlo al [EMPTY] de [EMPTY] del nodo.

    8. Desde Obtener posición_destino, arrastra el Fuera para conectarlo al En de [EMPTY] del nodo.

    9. Desde Obtener posición_destino, arrastra el Vector3 (Vector 3) para conectarlo al [EMPTY] de [EMPTY] del nodo.

      ejemplo

      
                                        Utiliza el botón [EMPTY] nodo que se unirá
                                            los valores de la Porcentaje clavija.
  15. Haga lo siguiente para ajustar la posición de la puerta cuando el Duración El nodo se combina entre el nodo actual y el nodo posiciones de destino:

    1. En la pestaña Paleta de nodos, introduzca set local translation en el cuadro de búsqueda y debajo de Entidadde Transformación, arrastrar Establecer traducción local a la lienzo.

    2. Desde [EMPTY], arrastra el Fuera para conectarlo al En de Establecer traducción local del nodo.

    3. Desde [EMPTY], arrastra el Vector3 (Vector 3) para conectarlo al Traducción de Establecer local Traducción del nodo.

    4. En la pestaña Establecer traducción local nodo, pausar en el Fuente y haz clic en el botón botón.

    5. En la pestaña Entity Outliner, selecciona Malla de puerta para asignar el Puerta Malla entidad a la Fuente en la propiedad Establecer traducción local del nodo.

    6. Verifique que su door.scriptcanvas gráfico tiene un aspecto similar al siguiente.

      ejemplo

      
                                        Terminado Script Canvas gráfico para crear un área de disparador
                                            para una entidad.
  16. Guarde el gráfico.

  17. En Lumberyard Editor, pulse Control+G para entrar en el modo de juego y prueba el script.

  18. Para mover la esfera hacia delante en el área del gatillo de la puerta y deslizar, abra el la puerta, pulse el botón Wde A, D con las teclas.

  19. Para mover la esfera hacia atrás fuera del área del gatillo y deslizar la puerta cerrado, pulse S.

  20. Cuando haya terminado de probar el script, pulse [EMPTY].