Los sistemas inventario y elementos son una parte fundamental de muchos tipos de juegos. Puedes personalizar el inventario de jugador de Fortnite usando las entidades y los componentes de Scene Graph para crear elementos únicos para tu isla.
Los elementos son objetos que los jugadores y los agentes pueden usar y poseer. Los inventarios incluyen el inventario existente del jugador de Fortnite, así como cualquier inventario personalizado que crees con el inventory_component. Inventario y elementos personalizados es un sistema para crear, controlar y almacenar elementos. Este sistema es una función experimental que debes habilitar en Configuración del proyecto y usar con Scene Graph y Verse en Unreal Editor para Fortnite (UEFN).
Conceptos básicos de Scene Graph
Scene Graph es un sistema de entidades y componentes, construido sobre Verse. Las entidades son contenedores para componentes, y los componentes brindan funcionalidad a una entidad. Puedes adjuntar entidades entre sí en una relación base-derivado, lo que crea jerarquías. Un arreglo reutilizable de entidades y componentes se denomina prefabricado.
Consulta Cómo trabajar con entidades y componentes para obtener más información sobre las entidades y los componentes. Consulta Prefabricados e instancias de prefabricados para obtener más información sobre los prefabricados.
Objetos
Los elementos se crean en Scene Graph al colocar un item_component en una entidad. Los inventarios tratan el componente como un objeto. El item_component ofrece funcionalidad, como:
Equipar y desequipar.
Categorías nombradas para comparación y clasificación.
Por sí solo, el item_component ofrece opciones limitadas a un elemento. Los componentes adicionales crean algo más interesante con mayor funcionalidad.
Para obtener más información, consulta Componente de elemento.
Inventarios
Los inventarios son contenedores de elementos y controlan lo que sucede con esos elementos. Un inventario es una entidad que tiene un inventory_component y funciona de las siguientes maneras:
Ser consciente de todos los elementos que existen dentro de él.
Controlar qué elementos pueden entrar o salir del inventario.
Determinar qué sucede cuando un elemento entrante quiere combinarse con un elemento que ya está dentro del inventario.
Dado que un elemento solo puede existir dentro de un inventario a la vez, los inventarios también determinan la propiedad de las entidades de objetos. Las subentidades de un inventario solo se consideran elementos dentro del inventario si también tienen un item_component; de lo contrario, son subentidades derivadas.
Por defecto, los inventarios pueden contener un número y una variedad infinitos de elementos. Con Verse puedes crear restricciones y reglas que afectan la adición y eliminación de elementos. Por ejemplo:
Añade elementos a un inventario solo si tienen la categoría correcta.
Limitar la cantidad de objetos en un inventario.
Evita que el último elemento se elimine de un inventario.
Permitir que los elementos de mayor prioridad expulsen los elementos de menor prioridad cuando el inventario esté lleno.
Restringir un inventario a un solo objeto.
Árboles de inventario
Los inventarios son conscientes de cualquier inventario que esté debajo de ellos en la jerarquía del Scene Graph. Estos inventarios derivados se conocen como subinventarios. Puedes aprovechar el árbol de inventarios de muchas maneras.
Por ejemplo, puedes añadir un elemento a un inventario base donde puede llegar a un inventario derivado más especializado. Puedes pensar en esto como darle una moneda al jugador y hacer que viaje por el sistema de inventario hasta una billetera (Inventario del jugador > Inventario de la mochila > Inventario de la bolsa de dinero).
Para crear un comportamiento de inventario más avanzado, es necesario escribir en Verse.
Verse: inventarios
Hay dos formas de añadir un elemento a un inventario.
Llama a
AddItem()para añadir un elemento específicamente a un inventario.Llamar a la función
AddItemDistribute()y usar la jerarquía de inventario para encontrar el inventario o subinventario más adecuado.
Cuando se llama a la función AddItemDistribute(), el inventario objetivo y todos sus subinventarios tienen la oportunidad de evaluar y reclamar el elemento. Después de considerar cada uno, el inventario más adecuado intenta añadir el elemento.
Raíz de inventario del jugador
Los jugadores tienen un inventario por defecto. Esto se conoce como la raíz de inventario. A diferencia de otros inventarios, la raíz de inventario del jugador no puede aceptar elementos. En cambio, actúa como el elemento principal para los subinventarios que se encuentran debajo. Esto te permite apuntar a la raíz del inventario con AddItemDistribute() y para que un elemento encuentre un inventario elegible, incluso si el objetivo inicial no puede recibirlo.
Para que un jugador reciba elementos, necesita tener uno o más subinventarios debajo de la raíz de inventario.
La explicación anterior no afecta a las entidades que tienen un inventory_component añadido a través de Verse o mediante el editor de prefabricados.