Script Canvas Tutorial: Disparo de un objetivo mediante la generación de entidades y la detección de colisiones - 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.

Script Canvas Tutorial: Disparo de un objetivo mediante la generación de entidades y la detección de colisiones

Este tutorial se basa en lo que ha aprendido en los dos anteriores Los tutoriales de. En el siguiente tutorial, creará una esfera controlable que disparará : proyectiles en un objetivo.

ejemplo


                Ejemplo Script Canvas gráfico con destinos de colisión.

Esto implica varias tareas:

  • Generar entidades

  • Añadir scripts que se ejecutan en las entidades generadas

  • Configurar colisión

  • Añadir filtrado de etiquetas

Prerequisites

Paso 1: Configuración de un Entidad de proyectil

Para crear una entidad de proyectil, cree una entidad y, a continuación, añada el Meshde Rígido Cuerpo componente, Malla Colisionador, y Lona de guión los componentes.

Para crear una entidad de proyectil

  1. En Lumberyard Editor, haz clic con el botón derecho en el paso Perspectiva cerca de la esfera y elija [EMPTY] entidad.

  2. En la pestaña Entity Inspector, haga lo siguiente:

    1. Para Nombre, introduzca Projectile.

    2. En la pestaña Transformación componente, para Escala, conjunto X de 0.25de Y de 0.25, y Z de 0.25.

      
                                    Transformación de las propiedades de la
                                            Proyectil entidad.
    3. Haga clic en Añadir componente y, a continuación, elige la opción Malla componente.

    4. En la pestaña Malla componente, para Malla activo, haz clic en el botón Examinar (.) selecciona el botón \SamplesProject\Objects\default\primitive_sphere.cgf y, a continuación, haz clic en correcto.

      
                                    Seleccionar el activo de malla para el proyectil
                                        entidad.
  3. En la pestaña Entity Inspector, haga clic en [EMPTY] Componente y, a continuación, elija los siguientes componentes:

    • Física del cuerpo rígido

    • Colisionador de malla

    • Script Canvas

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

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

  6. Después de que se cargue el gráfico, elija [EMPTY]de [EMPTY] Como.

  7. En la pestaña [EMPTY] cuadro de diálogo, para [EMPTY] nombre, introduzca projectile y luego haz clic en [EMPTY].

  8. En la pestaña Script Canvas componente, para Script Canvas Activo, haz clic en el botón (.), seleccione el botón projectile.scriptcanvas y, a continuación, haz clic en correcto.

    
                            Seleccione la opción Script Canvas para la entidad.
  9. Compruebe que el Proyectil la entidad se parece al siguiente.

    ejemplo

    
                                Los componentes y las propiedades del
                                        Proyectil entidad.

Paso 2: Crear un Guión para impulsar el proyectil hacia delante

Ahora que ha configurado un proyectil, puede crear un script para impulsar el proyectil hacia delante cuando se genere.

Para crear un script de proyectil

  1. En la pestaña Script Canvas , abre el projectile.scriptcanvas del archivo, si aún no es abierto desde Paso 1: Configuración de un Entidad de proyectil.

  2. En la pestaña Paleta de nodos, introduzca start en el cuadro de búsqueda.

  3. Por debajo de Servicios públicos, arrastrar En gráfico [EMPTY] desde el paso Paleta de nodos a la gráfico. Este nodo de evento se ejecuta solo para la primera marca después de que la entidad haya inicializado.

  4. En la pestaña Paleta de nodos, introduzca Conseguir Adelante.

  5. Desde Entidadde Transformación, arrastrar el Adelante del nodo al gráfico.

  6. Desde Al inicio del gráfico, arrastra el Fuera para conectarlo al En de Adelante del nodo.

    
                            Adelante del nodo en
                                Script Canvas.
  7. En la pestaña Adelante nodo, para Escala, introduzca 200.

  8. En la pestaña Paleta de nodos, introduzca Establecer Velocidad y arrastre el nodo al gráfico.

  9. Desde Adelante, arrastra el Fuera para conectarlo al En de Establecer Velocidad del nodo.

  10. Desde Adelante, arrastra el Adelante en el pasador Velocidad de Establecer velocidad del nodo.

    
                            Establecer velocidad del nodo en
                                Script Canvas.
  11. Para establecer una vida útil para el proyectil, haga lo siguiente:

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

      
                                    Retardo del nodo en
                                        Script Canvas.
    2. Por debajo de Tiempo, arrastrar Retardo desde el paso Paleta de nodos al gráfico.

    3. Desde Al inicio del gráfico, arrastra el Fuera para conectarlo al En de Retardo del nodo.

    4. En la pestaña Retardo nodo, para Tiempo, introduzca 1.0.

      
                                    Conecte el Al inicio del gráfico del nodo a
                                        el Retardo del nodo.
  12. Para destruir el proyectil después del tiempo establecido, haga lo siguiente:

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

    2. Por debajo de Entidadde Juego Entidad, arrastrar Destruir entidad de juego y Descensos desde el paso [EMPTY] Paleta al gráfico.

      
                                    Utiliza el botón Destruir entidad de juego y
                                            Descensos nodo para destruir entidades que son
                                        generado.
    3. Desde Retardo, arrastra el Fuera para conectarlo al En de Destruir entidad de juego y descendientes del nodo.

      
                                    Conecte el Retardo del nodo en el
                                            Destruir entidad de juego y descendientes
                                        del nodo.
    4. Verifique que su projectile.scriptcanvas El gráfico de tiene un aspecto similar al siguiente.

      ejemplo

      
                                        Script de ejemplo para la entidad de proyectil en
                                            Script Canvas.
  13. En la pestaña Script Canvas del editor, selecciona [EMPTY]de [EMPTY]. También puede pulsar Control+S.

Paso 3: Guardar Entidad de proyectil como sector

Ahora que ha creado un script de proyectil, puede guardar la entidad de proyectil como un sección.

Para guardar la entidad de proyectil como un sector

  1. En Lumberyard Editor, en la Entity Outliner, haga clic con el botón derecho Proyectil y elige [EMPTY] corte.

  2. En la pestaña [EMPTY] cuadro de diálogo, para [EMPTY] nombre, introduzca projectile y luego haz clic en [EMPTY].

  3. Para habilitar el proyectil para que se genere, haga lo siguiente:

    1. En la pestaña Asset Browser, ve a la página projectile.slice que acabas de creado.

      
                                    Seleccione la opción projectile.slice archivo en
                                        el Asset Browser.
    2. Haga clic con el botón derecho del ratón projectile.slice y elige Establecer corte dinámico. Scripts que se ejecutan en un el sector dinámico reasignará correctamente las asignaciones de entidades de origen al entidad en la que se ejecuta el gráfico.

      
                                    Establezca el parámetro projectile.slice como un
                                        sector dinámico en el
                                        Asset Browser.
  4. En la pestaña Entity Outliner, haga clic con el botón derecho Proyectil y luego haz clic en Eliminar. Porque generarás el proyectil entidad de forma dinámica desde el script de reproductor, ya no necesita la entidad en la escena.

Paso 4: Configuración de la Entidad del jugador para generar el sector

Ahora que ha creado un sector, puede configurar su Jugador entidad para generar el sector.

Para configurar la entidad del jugador para generar el sector

  1. En Lumberyard Editor, en la Entity Outliner, haga clic con el botón derecho el Jugador entidad y selecciona Crear elemento secundario entidad.

  2. Introduzca un nombre para la entidad secundaria, como spawner.

  3. En la pestaña Transformación componente, para el Traducir Y propiedad, introducir 1.0. Esto establece el punto de generación 1 metro delante de la entidad principal.

  4. Seleccione la entidad secundaria y en la pestaña Entity Inspector, haga clic en [EMPTY] Componentey, a continuación, elija la opción Spawner componente.

  5. En la pestaña Generador componente, para Dinámico corte, haz clic en el botón Examinar (.) , seleccionar projectile.slice y, a continuación, haz clic en correcto.

    
                            Seleccione la opción projectile.slice para
                                    Generador componente.
  6. Compruebe que el generador la entidad se parece al siguiente.

    
                            Los componentes y las propiedades del
                                    generador entidad.

Paso 5: Configuración de la Enlace de entrada para el proyectil

Ahora que has añadido la Generador , puede configurar el componente para disparar el proyectil al pulsar el botón Barra espaciadora.

Para configurar el enlace de entrada del proyectil

  1. En Lumberyard Editor, en la Entity Outliner, selecciona la opción Jugador entidad.

  2. En la pestaña Entity Inspector, en Entrada, haz clic en el botón Enlaces de entrada del Editor icono .

  3. En la pestaña Editar activo , haga lo siguiente:

    1. Para Introducir grupos de eventos, haga clic en + para añadir un nuevo grupo de eventos de entrada.

    2. Expanda el grupo de eventos de entrada. Para Nombre del evento, introducir shoot.

    3. Para Generadores de eventos, haga clic en + para añadir un generador de eventos.

    4. En la pestaña Clase a crear haz clic en correcto para añadir una clase de entrada.

    5. Expandir dispararde Evento Generadoresde control_de_juegos_botón_a. Para Introducir tipo de dispositivo, elige teclado.

    6. Para Nombre de entrada, elige espacio_edición_tecla_teclado.

    7. Compruebe que la configuración aparece como se muestra en la siguiente.

      
                                    Enlaces de entrada de ejemplo para la entidad.
    8. En la pestaña Editar activo selecciona [EMPTY]de [EMPTY].

Paso 6: Añadir lógica al script de jugador para generar el proyectil

Ahora que ha configurado el enlace de entrada, puede añadir lógica a la Jugador para generar el proyectil al pulsar el botón Barra espaciadora.

Para añadir lógica al script de jugador

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

  2. En la pestaña Script Canvas del editor, selecciona [EMPTY]de Abierto. Seleccionar player.scriptcanvas y luego haz clic en Abierto.

  3. Haga lo siguiente para habilitar el nodo de eventos para que escuche la entrada del evento:

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

    2. Por debajo de Juegode Entrada, arrastrar Controlador de entrada desde el paso [EMPTY] Paleta al gráfico. Entrada Controlador es un nodo de evento. Cuando se produce un evento, el El nodo de eventos de envía un mensaje al script.

    3. Para Nombre del evento, introduzca shoot.

      
                                    Controlador de entrada del nodo en
                                        Script Canvas.
  4. Haga lo siguiente para controlar la velocidad de disparo para el evento de disparo:

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

    2. Por debajo de [EMPTY], arrastrar Una vez que desde el paso Paleta de nodos al gráfico.

      
                                    Una vez que del nodo en
                                        Script Canvas.
    3. Desde Controlador de entrada, arrastra el Retenido para conectarlo al En de Una vez que del nodo.

      
                                    Una vez que del nodo en
                                        Script Canvas.
    4. En la pestaña Paleta de nodos, introduzca spawn en el cuadro de búsqueda.

    5. Por debajo de Juegode Generador, arrastrar Generar desde el paso [EMPTY] Paleta al gráfico.

    6. Desde Una vez que, arrastra el Fuera para conectarlo al En de Generar del nodo.

    7. En la pestaña Generar nodo, para Fuente, introduzca el nombre de la entidad secundaria con el Generador componente adjunto desde Paso 4.

      
                                    Conecte el Una vez que del nodo en el
                                            Generar del nodo en
                                        Script Canvas.
    8. En la pestaña Paleta de nodos, introduzca delay en el cuadro de búsqueda.

    9. Por debajo de Tiempo, arrastrar Retardo desde el paso Paleta de nodos al gráfico.

      
                                    Retardo del nodo en
                                        Script Canvas.
    10. Desde Generar, arrastra el Fuera para conectarlo al En de Retardo del nodo.

    11. En la pestaña Retardo nodo, para Tiempo, introduzca 0.25 (segundos).

    12. Desde Retardo, arrastra el Fuera para conectarlo al Restablecer de Una vez que del nodo.

    nota

    La ejecución de nodos siempre fluye de la izquierda a la derecha de un del nodo. Para obtener más información, consulte Entradas, salidas y conexión Tipos.

  5. Verifique que su player.scriptcanvas el gráfico tiene el aspecto el siguiente.

    ejemplo

    
                                Ejemplo de script para las entidades generadas.
  6. Elegir [EMPTY]de [EMPTY]. También puede pulse Control+S.

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

  8. Haga lo siguiente:

    • Para mover la esfera hacia delante, pulse W.

    • Para mover la esfera hacia atrás, pulse S.

    • Para mover la esfera de lado a lado, pulse A y D.

    • Para generar un proyectil que se propulse hacia delante, pulse el botón Barra espaciadora.

      Si mantienes pulsado el botón Barra espaciadora, la generación se dispara una vez y Retardo del nodo restablece el Una vez que del nodo cada 0,25 segundos.

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

Paso 7: Crear un Entidad de destino

Ahora que el Jugador la entidad dispara proyectiles, puede añadir un Objetivo entidad para el Jugador entidad a destruir.

Para crear una entidad de destino

  1. En Lumberyard Editor, cree una entidad: Haz clic con el botón derecho en el menú desplegable Perspectiva ventana gráfica cerca de la esfera controlable y elige Crear entidad.

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

    
                            Crear una entidad denominada Objetivo.
  3. Haga clic en Añadir componente y, a continuación, elige la opción Malla componente.

  4. En la pestaña Malla componente, para Malla activo, haz clic en el botón Examinar (.) , seleccionar \SamplesProject\Objects\default\primitive_cylinder.cgf y, a continuación, haz clic en correcto.

    
                            Asignar un recurso de malla a la Objetivo
                                entidad.
  5. Haga clic en Añadir componente y elija lo siguiente componentes:

    • Física estática

    • Colisionador de malla

    • [EMPTY]

  6. En la pestaña [EMPTY] componente, hacer clic en + de añadir una etiqueta y para [EMPTY], introduzca Target.

    
                            [EMPTY] del componente conectado al
                                    Objetivo entidad.
  7. Verifique que su Objetivo la entidad aparece como la siguiente.

    ejemplo

    
                                Componentes de ejemplo asociados al
                                        Objetivo entidad.

Paso 8: Añadir lógica al proyectil para destruir entidades objetivo

Ahora que has configurado la Objetivo entidad, puede añadir lógica a el proyectil para destruir entidades que tienen el Objetivo etiqueta.

Para añadir lógica para destruir entidades de destino

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

  2. Haga lo siguiente para añadir nodos de colisión:

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

    2. Por debajo de Físicade Física Componente, arrastrar En colisión desde el paso Paleta de nodos al gráfico. Este nodo tiene una entrada de datos especial denominada colisión.

      
                                    En colisión del nodo en
                                        Script Canvas.
  3. Haga lo siguiente para añadir un Establecer acierto del nodo:

    1. En el panel inferior derecho, en la pestaña Variable Responsable, haga clic en Crear variable. Puede utilizar variables para almacenar y modificar valores persistentes en su gráfico.

      Para obtener más información, consulte Gestión Script Canvas Variables.

    2. Seleccionar Colisión, doble clic Variable 1 y luego cambia el nombre de la variable a hit.

    3. Haga clic con el botón derecho en el botón golpear variable y selecciona Establecer acierto.

  4. Seleccione la opción Fuera pasador para Encendido Colisión y arrástrelo para conectarlo al En el pasador para Establecer acierto del nodo.

  5. Desde En colisión, arrastra el Colisión para conectarlo al Colisión de Establecer acierto del nodo.

    
                            Conecte el En colisión del nodo en el
                                    Establecer acierto nodo de variable en
                                Script Canvas.
  6. Haga lo siguiente para añadir etiquetas:

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

    2. Por debajo de Matemáticasde máster en el Reino Unido32, arrastrar Creación de CRC32 desde el paso [EMPTY] Paleta al gráfico. El sistema de etiquetas utiliza CRC32s para almacena nombres de etiquetas de.

    3. Desde Establecer acierto, arrastra el Fuera para conectarlo al En de [EMPTY] máster en el Reino Unido32 del nodo.

    4. En la pestaña Creación de CRC32 nodo, para Cadena, introduzca Target.

      
                                    Conecte el Establecer acierto del nodo en el
                                            Creación de CRC32 del nodo en
                                        Script Canvas.
    5. En la pestaña Paleta de nodos, introduzca tag en el cuadro de búsqueda.

    6. Por debajo de Juegode [EMPTY], arrastrar Tiene etiqueta desde el paso [EMPTY] Paleta al gráfico.

      
                                    Tiene etiqueta del nodo en
                                        Script Canvas.
    7. Desde Creación de CRC32, arrastra el máster en el Reino Unido32 para conectarlo al [EMPTY] de Tiene etiqueta del nodo.

  7. Haga lo siguiente para añadir un Consigue el éxito del nodo:

    1. En la pestaña Gestor de variables, haz clic con el botón derecho en el botón golpear variable y selecciona Conseguir golpear.

    2. Desde Consigue el éxito, arrastra el entidad: ID de entidad para conectarlo al Fuente de Tiene [EMPTY] del nodo. Esto habilita el Tiene [EMPTY] para comprobar la entidad que el proyectil colisionó con en lugar de con.

    3. Desde Creación de CRC32, arrastra el Fuera para conectarlo al En de Consigue el éxito del nodo.

    4. Desde Consigue el éxito, arrastra el Fuera en el pasador En pasador de Tiene etiqueta del nodo.

      
                                    Conecte el Consigue el éxito nodo variable
                                        a la Tiene etiqueta del nodo en
                                        Script Canvas.
  8. Haga lo siguiente para añadir el Si del nodo:

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

    2. Por debajo de [EMPTY], arrastrar Si desde el paso Paleta de nodos al gráfico.

    3. Desde Tiene etiqueta, arrastra el Fuera para conectarlo al En de Si del nodo.

    4. Desde Tiene etiqueta, arrastra el Resultado para conectarlo al Condición el pasador para Si del nodo.

      
                                    Conecte el Tiene etiqueta del nodo en el
                                            Si del nodo en
                                        Script Canvas.
  9. Haga lo siguiente para añadir un nodo de destrucción:

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

    2. Por debajo de Entidadde Juego Entidad, arrastrar Destruir entidad de juego y Descensos desde el paso [EMPTY] Paleta al gráfico.

      
                                    Destruir entidad de juego y descendientes
                                        del nodo en Script Canvas.
    3. Desde Si, arrastra el Verdadero para conectarlo al En de Destruir entidad de juego y descendientes del nodo.

    4. Desde Consigue el éxito, arrastra el entidad: ID de entidad para conectarlo al ID de entidad de Destruir juego Entidad y descendientes del nodo.

    5. Verifique que su projectile.scriptcanvas El gráfico de tiene un aspecto similar al siguiente.

      ejemplo

      
                                        Ejemplo Script Canvas gráfico para el proyectil
                                            entidad.
  10. En la pestaña Script Canvas del editor, selecciona [EMPTY]de [EMPTY]. También puede pulsar Control+S.

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

  12. Para apuntar y disparar al objetivo, haga lo siguiente:

    • Para mover la esfera hacia delante, pulse W.

    • Para mover la esfera hacia atrás, pulse S.

    • Para mover la esfera de lado a lado, pulse A y D.

    • Para generar un proyectil que se propulse hacia delante, pulse el botón Barra espaciadora.

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