Esta funcionalidade está em estado experimental, então você pode testá-la, fornecer feedback e ver o que estamos planejando. No momento, não é possível publicar um projeto que utilize Inventário e Itens Personalizados.
Lembre-se de que não garantimos a retrocompatibilidade de ativos criado em um estágio experimental, as APIs para essas funcionalidades podem sofrer alterações e podemos remover completamente funcionalidades experimentais ou uma funcionalidade específica a nosso critério. Confira a lista de problemas conhecidos antes de começar a trabalhar com a funcionalidade.
Itens e sistemas de inventário são uma parte essencial de muitos tipos de jogos. Usando as entidades e os componentes do Scene Graph, você pode personalizar o inventário dos jogadores do Fortnite e criar itens personalizados únicos para a sua Ilha.
Itens são objetos que estão presentes nas ilhas e que os jogadores e agentes podem usar e adquirir. Os inventários incluem o inventário existente do jogador do Fortnite, além de inventários personalizados que você criar com o inventory_component. Inventário e Itens Personalizados é um sistema usado para criar, controlar e armazenar itens. Este sistema é uma funcionalidade experimental que você precisa habilitar nas Configurações de Projeto para usar com o Scene Graph no UEFN e no Verse.
Noções básicas do Scene Graph
O Scene Graph é um sistema de entidades e componentes construído com base em Verse. As entidades são contêineres para componentes, e os componentes dão funcionalidade a uma entidade. Você pode anexar entidades umas às outras em uma relação de pai/filho, o que cria hierarquias. As disposições reutilizáveis de componentes e entidades são chamadas de estruturas pré-fabricadas. Para obter mais informações sobre entidades e componentes, consulte Como trabalhar com entidades e componentes. Para obter mais informações sobre estruturas pré-fabricadas no Scene Graph, consulte Estruturas pré-fabricadas e instâncias de estruturas pré-fabricadas.
Problemas identificados
Inventário e Itens Personalizados é o primeiro sistema que faz uso do Scene Graph no UEFN. Por causa disso, você poderá encontrar vários bugs ao utilizar esse sistema na versão experimental. Confira a lista de problemas conhecidos aqui. Estamos trabalhando em diversas correções e melhorias que serão incluídas numa versão futura.
Itens
Itens são entidades do Scene Graph que contêm um item_component. Por padrão, os itens podem ser mesclados e empilhados, podem ter categorias para comparação e classificação e podem ser equipados e desequipados.
Como o sistema de Inventário e Itens Personalizados usa o Scene Graph, você pode adicionar componentes a itens para aumentar sua funcionalidade. O sistema vem com vários componentes básicos para começar, listados na tabela abaixo.
| componente | Descrição |
|---|---|
| Este componente torna uma entidade um item. Isso também confere à entidade a possibilidade de ser empilhada, tornar-se propriedade e ser controlada por um inventário. |
| Armazena um ícone para o item exibido na interface do Fortnite. |
| Contém dados de texto, como nome e descrição do item. |
| Armazena um ativo de malha que representa o item no jogo. |
| Este componente permite que o item seja tratado da mesma forma que uma coleta de item do Fortnite. Isso inclui um prompt de interação para coletá-lo, uma interface e animações para coletar/soltar. |
Um item pode ter apenas um componente de cada tipo. Isso inclui componentes que herdam de outros componentes que já estão anexados ao item.
Então, por exemplo, se você criar um componente personalizado para um item específico que é filho de item_component, seu componente de item personalizado será exibido em vez do componente de item genérico.
Modularidade do item
Com Itens e Inventário Personalizados, podemos introduzir a modularidade adequada. Isso significa que você pode usar componentes para criar a funcionalidade do item de maneira aditiva. Abaixo estão exemplos de componentes anexados a uma entidade de item que oferecem funcionalidades.
Entidade
item_component: transforma uma entidade em um item.item_details_component: armazena dados de texto, como o nome e a descrição do item.item_icon_component: armazena um ícone para o item exibido na interface do Fortnite.mesh_component: armazena um ativo de malha que representa o item no jogo.
Inventários
Inventários são entidades que têm um inventory_component.
Inventários são contêineres para entidades de item, e o inventário controla o que acontece com esses itens.
O sistema de Itens e Inventário Personalizados usa inventários e subinventários para compartimentar os itens. Assim, fica mais fácil classificar, adicionar e recuperar itens no inventário. Como um item pode existir apenas dentro de um inventário de cada vez, os inventários também determinam a propriedade das entidades de item.
Por padrão, os inventários podem conter uma quantidade infinita de qualquer tipo de item. No entanto, você pode criar restrições e regras que determinam quais itens podem ser adicionados. Alguns exemplos dessas restrições e regras:
Adicione itens a um inventário somente se atenderem à consulta de tipo necessária.
Limite o número de itens em um inventário.
Permita que itens de maior prioridade ejetem itens de menor prioridade quando o inventário estiver cheio.
Restrinja um inventário a um único item.
Quando uma função AddItem() não pode ser resolvida no inventário de destino, ela procura outros inventários que possam conter o item. A função usa hierarquias do Scene Graph.
Primeiro, ela tentará adicionar o item a inventários-irmãos (inventários que compartilham um pai com o inventário-alvo inicial) e, em seguida, analisará os inventários-filhos (inventários vinculados ao inventário-alvo inicial). A função verificará todos os inventários na hierarquia antes de retornar uma falha.
Filtragem de inventário com eventos de cena
Quando um inventário é direcionado com uma chamada de função AddItem(), ele receberá um evento de cena (add_item_event). Ao substituir a função OnReceive() de um componente, uma lógica personalizada pode ser acionada para ter efeito sobre a entrada do item. Isso permite regras de inventário, como verificação do tipo de item antes de dar permissão, permissão de apenas um certo número de itens no inventário e assim por diante. O evento OnReceive() é implementado na classe de componente-base e está disponível para todos os componentes do Scene Graph.
O add_item_event coleta respostas de todos os inventários afetados. Você pode fazer com que os componentes de inventário modifiquem o evento e com que esses componentes de inventário se ofereçam para receber o item que está sendo adicionado. O evento contém uma matriz chamada inventory_with_priority, que você pode definir e atualizar com seu inventário-alvo. Isso permite nomear o inventário-alvo com prioridade para receber o item. Quando o evento de cena for transmitido, todos os inventários com prioridade definida são considerados para receber o item, e o inventário com a prioridade mais alta o recebe.
Na versão experimental de Inventário e Itens Personalizados, apenas o add_item_event está disponível. No entanto, outros eventos serão adicionados em atualizações futuras.
Inventários do Fortnite
O sistema Inventário e Itens Personalizados é oferecido com várias subclasses de inventory_component, chamadas de fort_inventory_components. Esses têm filtragem de itens e elementos de interface que imitam o inventário do jogador do Fortnite Battle Royale.
| componente | Descrição |
|---|---|
| Corresponde ao espaço de Ferramenta de Coleta do inventário padrão do jogador do Fortnite. |
| Corresponde à barra de atalho do inventário padrão do jogador do Fortnite. |
| Corresponde à barra de atalho das ferramentas de construção do inventário padrão do jogador do Fortnite. |
| Corresponde ao espaço de armadilha do inventário padrão do jogador do Fortnite. |
| Corresponde à seção de moedas do inventário padrão do jogador do Fortnite. |
| Corresponde à seção de coletáveis do inventário padrão do jogador do Fortnite. |
| Corresponde à seção de munição do inventário padrão do jogador do Fortnite. |
Você também pode criar sua própria configuração de subinventários para adicionar, remover ou substituir o inventário padrão do jogador.
Os itens e inventários são tão simples ou complexos quanto o número de componentes adicionados ao item ou entidade de inventário. À medida que o sistema de Itens e Inventário Personalizados continua sendo desenvolvido, mais componentes serão adicionados para fornecer ainda mais funcionalidades.