Lumberyard
Guía del usuario (Version 1.20)

Creación de una gema con Project Configurator

Utilice Project Configurator para crear una nueva gema vacía.

  1. Vaya al directorio lumberyard_version\dev\Tools\LmbrSetup\Win\ y lance el ProjectConfigurator.

  2. Seleccione el proyecto y haga clic en Enable Gems (Habilitar gemas).

  3. Haga clic en Create a new Gem (Crear una gema nueva) en la página de gemas del proyecto de juego que ha seleccionado.

  4. En el cuadro de diálogo Create a new Gem (Crear una gema nueva):

    1. En Name (Nombre), escriba un nombre para la gema (por ejemplo, MyNewGem). El nombre debe empezar por una letra y solo se permiten caracteres alfanuméricos y guiones bajos en el resto del nombre. No está permitido utilizar otros caracteres especiales o espacios en el nombre.

    2. (Opcional) En Summary (Resumen), escriba una descripción para la gema.

      Este campo también admite hipervínculos mediante una sencilla etiqueta delimitadora html. Para escribir esto directamente en el campo Summary (Resumen) de Project Configurator, utilice la siguiente sintaxis:

      <a href="http://www.amazon.com">Amazon</a>

      Si va a editar el parámetro Summary en el archivo gem.json, utilice la siguiente sintaxis:

      "Summary": "<a href=\"http:\/\/www.amazon.com\">Amazon<\/a>",
    3. Para Type (Tipo), seleccione Code & Assets (Código y recursos) o Assets Only (Solo recursos).

      • Code & Assets (Código y recursos): contiene recursos, además de código, que realiza determinadas funciones en los recursos.

      • Assets Only (Solo recursos): contiene solo recursos y no contiene código.

    4. Elija Create Gem (Crear gema).

    
                            Cree sus propias gemas para utilizarlas en su proyecto de juego en Lumberyard.
  5. Cierre Project Configurator.

    Los directorios y archivos siguientes se crean en \dev\Gems\gem_name\ para las gemas "Assets Only" y "Code & Assets":

    • Assets: directorio de recursos para la gema (por ejemplo, materiales, modelos, texturas y archivos de audio). El sistema AZ::IO incluye automáticamente este directorio para que pueda hacer referencia a los recursos que proporciona la gema. Por ejemplo, si tiene un archivo de material, \Assets\materials\MyMaterial.mtl, puede hacer referencia a él en el código con la ruta materials\MyMaterial.mtl.

      nota

      Si este directorio no existe, puede agregarlo manualmente. Si no tiene recursos en la gema, puede eliminar esta carpeta.

    • Gem.json: metadatos de esta gema. No modifique los campos Uuid ni Name. Puede especificar los siguientes campos de metadatos de gemas:

      • Version: n.n.n (solo valores numéricos).

        No se admite la revisión de gemas, por lo que no debería planificar el incremento de la revisión tras el envío de la gema.

      • DisplayName: nombre de visualización sencillo. Puede contener espacios.

      • Tags: etiquetas que se pueden buscar y que aparecen en – bajo el resumen de la gema. Introdúzcalas como una lista de cadenas separadas por comas.

      • IconPath: ruta al icono de visualización de la gema.

      • Summary: descripción detallada de la gema. Este parámetro es compatible con hipervínculos. Para especificar un hipervínculo, utilice la siguiente sintaxis:

        "Summary": "<a href=\"http:\/\/www.amazon.com\">Amazon<\/a>",
      • Dependencies: puede especificar una dependencia en otra gema o en una versión del motor. Edite los metadatos de _comment.

        "Dependencies": [ { "Uuid": "540faf970c994668b5d02c66a39c6625", "VersionConstraints": [ ">1" ], "_comment": "zzzTestVer001" } ],
    • preview.png: vista previa que se muestra en la lista de la gema de Project Configurator.

    Para las gemas "Code & Assets" también se pueden crear los siguientes archivos y directorios (además de los archivos anteriores):

    • Code\gem_name.waf_files: archivos waf (json) de la gema que especifican qué archivos se incluyen, cómo se deben combinar los archivos en archivos Uber y cómo se filtran los archivos en el proyecto de Visual Studio.

    • Code\gem_name_test.waf_files: archivos adicionales que se deben incluir cuando se realice la compilación con la especificación de prueba.

    • Code\wscript: archivo waf (wscript) de Python que define bibliotecas y otra configuración de la compilación que utiliza la gema.

    • Code\Include\gem_name\gem_name_Bus.h: encabezado visible globalmente que puede incluir cualquier proyecto que utilice la gema u otras gemas que dependan de él. El código externo puede llamar al módulo de la gema y recibir eventos desde su módulo a través de buses de eventos públicos. Los buses de eventos permiten realizar llamadas de función sencillas y seguras entre diferentes módulos de código.

    • Code\Source\gem_nameModule.cpp: implementación del gem_nameModule. A partir de Lumberyard 1.5, se incluyen gemas nuevas en los módulos AZ. El módulo predeterminado registra un componente del sistema: el gem_nameSystemComponent.

    • Code\Source\gem_nameSystemComponent.h: encabezado de la implementación del gem_nameSystemComponent. Este componente lo registra gem_nameModule y es un controlador de gem_nameBus.

    • Code\Source\gem_nameSystemComponent.cpp: implementación de gem_nameSystemComponent. Dentro de este componente, se encuentran los métodos Activate, Deactivate, Init y Reflect típicos.

    • Code\Source\StdAfx.cppCode\Source\StdAfx.h

    • Code\Tests\gem_nameTest.cpp

  6. Compile el proyecto de juego:

    • Si la gema es de tipo Code & Assets (Código y recursos), tendrá que compilar el proyecto.

    • Si la gema es de tipo Assets Only (Solo recursos), no es necesario compilar el proyecto.