Com o Scene Graph, você pode fazer rapidamente a transição de greyboxing e criação de mundo para um nível jogável completo em poucos passos.
O Scene Graph é um sistema Verse nativo que aproveita as características da linguagem Verse. Assim, você pode adicionar mais personalização aos seus projetos com experiências de jogo e objetos interativos e sob medida.
O Scene Graph aumenta a estabilidade do projeto, pois a linguagem Verse faz todo o trabalho pesado em segundo plano, garantindo que as entidades funcionem como o esperado. A linguagem também tem acesso profundo a todas as partes das entidades e dos componentes da cena, ou seja, você pode adicionar maior variedade a ela.
Como habilitar o Scene Graph no seu projeto
Para usar o Scene Graph no seu projeto:
Na barra de ferramentas, escolha Projeto > Configurações do projeto para abrir a janela Configurações do projeto.
Na janela Configurações do Projeto, em Acesso Beta, habilite Ferramentas do Scene Graph. O Scene Graph é habilitado por padrão em Beta.
Para confirmar que consegue visualizar as funcionalidades do Scene Graph, na Barra de Ferramentas, selecione Colocar Atores e veja Entidades no menu suspenso Colocar Atores.
Objetos no Metaverso
O metaverso é uma experiência de entretenimento social on-line em tempo real, onde as pessoas jogam e se conectam em um mundo 3D. A Epic Games está desenvolvendo o sistema Scene Graph para o UEFN para permitir que você crie essas experiências no metaverso.
No sistema Scene Graph, você pode instanciar e reutilizar objetos sem a classificação de ator da Unreal Engine. A base do Scene Graph é composta por um conjunto de blocos de construção que usam dados e lógica para construir o seu jogo, além de renderizar e simular os objetos no ambiente de jogo.
Os atores e as entidades não são intercambiáveis; eles são diferentes sistemas que funcionam conjuntamente na cena.
Com o Scene Graph, você pode estabelecer um framework de simulação 3D em tempo real em que todas as decisões de design e os resultados ficam instantaneamente visíveis na janela de visualização. Elas podem ser editadas no painel Detalhes ou no Editor de Estruturas Pré-fabricadas.
Você pode importar ativos que você cria ou comprar de um fornecedor e usá-los com o Scene Graph para criar objetos e estruturas pré-fabricadas personalizadas.
Tudo que você cria no Scene Graph pode ser reutilizado diversas vezes e com menor consumo de memória. O sistema de construção do Scene Graph foi projetado para permitir simulações compartilhadas e o compartilhamento de conteúdo complexo, mas ainda garantindo a aplicação de limites entre os conteúdos.
Entidades e componentes
As entidades e os componentes são a espinha dorsal do Scene Graph. Eles operam controlando a definição e o comportamento dos objetos.
As entidades são contêineres para os componentes ou outras entidades. Uma entidade vazia não terá efeito nem funcionalidade visível. São os componentes que fornecem dados e comportamento a uma entidade. A combinação dos componentes adicionados a uma entidade define a função dessa entidade na cena.
Uma entidade pode conter diversos componentes diferentes. No entanto, apenas um componente de um tipo de específico pode ser adicionado a uma entidade de cada vez. Por exemplo, apenas um tipo "light_component" pode ser usado em uma entidade. Para usar vários componentes de um tipo comum, você pode criar novas entidades para armazenar cada instância do componente.
Alguns tipos de componentes são gerados por ativos criados no UEFN. Um componente gerado por ativo é uma classe de componente criada automaticamente com base no conteúdo preexistente do seu projeto, como uma malha, som ou sistema de partículas. Esses ativos também podem expor propriedades que você pode modificar no componente gerado.
Os componentes têm propriedades editáveis. Essas propriedades podem ser físicas, como uma malha estática ou um sistema de partículas; ou lógicas, como uma tag de jogabilidade ou um código Verse personalizado, que define o movimento de uma plataforma. Por padrão, todas as entidades têm um componente de transformação para especificar onde a entidade existe no mundo.
Construir uma entidade com Verse não cria um componente de transformação automaticamente.
Com o Scene Graph, você pode reunir rapidamente cenas pré-estabelecidas e mecânicas de jogo, utilizando dados físicos de malhas, indicações sonoras e muito mais.
Uma entidade se torna a representação física de uma malha estática quando você adiciona um Componente de Malha à entidade e uma malha é selecionada no espaço de malha do componente. Isso significa que você pode simular rapidamente construções ou cenas pré-estabelecidas individuais e usá-las imediatamente na sua cena.
Por exemplo, no vídeo abaixo, uma Entidade é transformada em um agrupamento de árvores sempre verdes.
Você pode transformar esse conjunto de árvores em uma estrutura pré-fabricada individual ou combiná-lo com outras entidades para criar uma estrutura pré-fabricada de floresta.
Uma entidade (a entidade de simulação) fica na raiz do seu projeto para representar a simulação. A cena é criada quando as entidades são aninhadas sob a entidade de simulação. Ao adicionar entidades ao mapa, você está criando automaticamente entidades filhas da entidade de simulação.
A entidade superior de uma estrutura pré-fabricada é a entidade-raiz dela, com outras estruturas pré-fabricadas e entidades aninhadas abaixo. As estruturas pré-fabricadas pais compõem o visual e o comportamento de suas filhas para interagir com os outros objetos na cena.
Clique na imagem para ampliar.
Entidade-raiz de estrutura pré-fabricada → WoodenHouse_Tiny_Prefab
Estrutura pré-fabricada filha → WoodenHouse_RoofSmall_Prefab_C_1
Entidade filha → Building_WIndowCircle_Bright2
Entidade filha → Building_WIndowCircle_Bright4
Entidade filha → Building_WIndowCircle_Dark2
Entidade filha → Building_WIndowCircle_Dark4
Entidade filha → WoodenHouse_Floor
Entidade filha → WoodenHouse_RoofCap2
Entidade filha → WoodenHouse_RoofCap3
Entidade filha → WoodenHouse_RoofWindow2
Estrutura pré-fabricada filha → WoodenHouse_SmallFloor_Prefab_C_1
Entidade filha → WoodenHouse_Floor
Entidade filha → WoodenHouse_Wall10
Entidade filha → WoodenHouse_WallDoor_C4
Estrutura pré-fabricada filha → WoodenHouse_Windows_Prefab_C_3
Entidade filha → Building_WindowPlane_Bright3
Entidade filha → Building_WindowPlane_Bright4
Entidade filha → Building_WindowPlane_Dark3
Entidade filha → Building_WindowPlane_Dark4
Entidade filha → WoodenHouse_Windoows_10
Cada estrutura pré-fabricada filha tem componentes que determinam o visual da estrutura pré-fabricada e como ela se alinha às outras estruturas pré-fabricadas na cena. Você pode usar a linguagem Verse a fim de selecionar estruturas pré-fabricadas e entidades específicas para trocar a estrutura pré-fabricada filha por outra estrutura pré-fabricada, ou até alterar a cor usada para as entidades Building_WindowPlane_Bright e Building_WindowPlane_Dark.
Há diversos tipos de componentes que determinam como uma parte da entidade ou toda ela age. Para saber mais sobre os diferentes tipos de componentes disponíveis no Scene Graph, consulte Componentes.
Para obter mais informações sobre como usar entidades e componentes, consulte Como trabalhar com entidades e componentes.
Estruturas pré-fabricadas
O Scene Graph cria estruturas pré-fabricadas reunindo entidades em pacotes sob uma relação de ancestral e descendente. Um ancestral é qualquer nível de entidade acima de outras entidades, como pai, avô, bisavô e assim por diante. Um descendente é um nível de entidade abaixo de filho, neto e assim por diante.
Todas as entidade selecionadas, hierarquias de entidades e seus componentes são instantaneamente adicionados a essa árvore de entidades na estrutura pré-fabricada. Quando a estrutura pré-fabricada estiver pronta, você poderá personalizar todas as suas instâncias no Editor de Estruturas Pré-fabricadas.
Para criar uma instância da sua estrutura pré-fabricada, arraste-a para a janela de visualização, tirando-a do Navegador de Conteúdo. Você também pode aninhar as estruturas pré-fabricadas dentro de uma hierarquia de estruturas pré-fabricadas e pode usar a hierarquia para aplicar as alterações feitas em todas as instâncias e estruturas pré-fabricadas na hierarquia.
Conforme atualiza e melhora a estrutura pré-fabricada, você economiza tempo, pois não precisa procurar todas as instâncias de determinado objeto para atualizar cada um deles individualmente.
Além disso, você pode criar vários objetos de aparência semelhante selecionando subpartes na hierarquia e substituindo diferentes valores de componentes. Também é possível girar objetos e adicionar novos valores de componente a diferentes instâncias da estrutura pré-fabricada conforme você edita no Editor de Estruturas Pré-fabricadas.
O editor marca todas as alterações no painel Detalhes com um ícone de chave de substituição nos atributos do componente individual. Ele também marca diferentes ícones de componentes no botão do menu suspenso de card do componente.
Para recuperar o design original da estrutura pré-fabricada, clique nas chaves de substituição do componente individual. O objeto retorna automaticamente ao estado da estrutura pré-fabricada pai. Você também pode clicar no botão do menu suspenso de card do componente e selecionar Clear Override.
Para saber mais sobre a modificação de estruturas pré-fabricadas, consulte Estruturas pré-fabricadas e instâncias de estruturas pré-fabricadas.
No vídeo abaixo, o Scene Graph é usado para criar duas estruturas pré-fabricadas de cômodo de castelo.
A sala é duplicada. Um elemento da sala é alterado selecionando-se a malha do piso e substituindo o original, resultando na criação de outra estrutura pré-fabricada. Você pode continuar a copiar e substituir as partes para simular rapidamente um pequeno castelo e até mesmo um vilarejo. Como isso também funciona com componentes, você pode adicionar diferentes comportamentos a cada cômodo do castelo.
Editar as estruturas pré-fabricadas não afeta a estabilidade nem a memória do objeto original nem de suas cópias. Isso significa que você pode concluir o layout, o design abstrato e a arte de seu nível para criar objetos personalizados para sua ilha. Com o sistema de construção do Scene Graph, você pode reutilizar as estruturas pré-fabricadas que cria em diferentes projetos para criar seu próprio universo de jogo no Fortnite.
Verse no Scene Graph
O Scene Graph usa a linguagem de programação Verse para gerar e remover entidades do mundo e criar componentes e comportamentos personalizados.
Com essa linguagem, você pode criar um lampião externo suspenso para a casa do exemplo anterior. A linguagem Verse permite que você defina as propriedades de oscilação, rotação e duração para determinar como o lampião se move.
As estruturas pré-fabricadas que você cria no seu projeto são expostas como uma classe em Verse no arquivo Assets.digest.verse do seu projeto. As entidades e os componentes definidos na sua estrutura pré-fabricada são acessados em Verse por meio das chamadas GetEntities() e GetComponents() em uma estrutura pré-fabricada.
Para começar a usar a linguagem Verse no Scene Graph, confira Como criar seu próprio componente usando Verse.
Experiência Prática
O Modelo de amostra do Scene Graph apresenta os conceitos básicos do trabalho com as funcionalidades do Scene Graph e se aprofunda nesses fluxos de trabalho fundamentais para ilustrar a capacidade de criação do seu projeto usando estruturas pré-fabricadas e Verse. Cada exemplo exibe o poder do uso do Scene Graph para iterar em um design para criar objetos de jogo e jogabilidade interessantes e funcionais.
Abra Criando um jogo de plataforma com o Scene Graph para saber mais sobre como usar o Scene Graph para criar uma jogabilidade interessante.
Para ver tutoriais mais detalhados, confira os Tutoriais do Scene Graph disponíveis.