Aqui está uma visão geral de algumas das principais atualizações para a nossa Data-Oriented Technology Stack (DOTS). Como estamos reconstruindo o núcleo do Unity com DOTS, estamos adicionando continuamente novos pacotes à pilha. Instale pacotes DOTS do Package Manager do Unity para começar.
Projeto DOTS Sample já está disponível
Na Unite Copenhagen 2019 não revelamos o projeto DOTS Sample, uma demonstração de jogo de tiro whitebox em terceira pessoa, que apresenta as inúmeras novas tecnologias DOTS em ação junto (incluindo Unity Physics, NetCode, Hybrid Renderer e Fluxo de trabalho de conversão).
O DOTS Sample é um ambiente simples que demonstra como os pacotes DOTS funcionam juntos em um jogo de tiro multijogador no Unity 2019.3. Embora tenhamos projetado para ser um projeto de teste interno, sinta-se à vontade para baixar e fazer testes com ele. Está disponível no GitHub e inclui todo o código-fonte e os assets.
Fluxo de trabalho de conversão (experimental)
O Fluxo de trabalho de conversão DOTS permite que você converta seus GameObjects para as entidades baseadas em DOTS com um único clique e, depois, aproveite o DOTS para seus fluxos de trabalho existentes. Por exemplo, você pode usar GameObjects para iterações rápidas em nível de design e, depois, simplesmente convertê-las para representação de entidades no tempo de execução. O novo Inspector de visualização de entidades permite que você veja como seus GameObjects se transformam em entidades DOTS.
Esse processo de conversão permite que você traduza GameObjects e os conceitos clássicos de fluxo de trabalho de criação com facilidade em dados do tempo de execução que são eficientes e podem ser transmitidos. Você obtém o melhor dos dois mundos: fluxos de trabalho rápidos e intuitivos ao trabalhar com o seu mundo de jogo no Editor, combinados com os dados de tempo de execução hiperotimizados para ECS e transmissíveis que oferecem ganhos imensos de desempenho.
Instale o Entities (visualização) e o DOTS Editor (visualização) do Package Manager para testar o novo fluxo de trabalho.
Unity Live Link (experimental)
Com o novo Unity Live Link você pode fazer alterações no Editor e visualizá-las refletidas em qualquer dispositivo conectado executando o jogador independente. O que antes exigia a criação de um executável, a compilação de todos os assets, a criação dos scripts e o upload deles no dispositivo toda vez que quisesse testar, agora pode ser testado em tempo real.
Como as velocidades de iteração são essenciais para o processo de criação de mundos de jogos, ajustes e refinamento da experiência do usuário, interagir com o seu jogo no dispositivo de destino em tempo real pode fazer toda a diferença. Unity Live Link oferece feedback de desempenho no dispositivo, permitindo que você explore as consequências de desempenho de escolhas diferentes diretamente no dispositivo e encontre o equilíbrio certo entre detalhes e desempenho.
Depois de criar uma Build do Live Link, a próxima vez que fizer alterações poderá simplesmente salvar sua Cena e o Unity agrupará suas atualizações e enviará para o Live Link Player.
Instale o pacote Entities (visualização) do Package Manager para testar o Unity Live Link.
Animação em Unity (experimental)
O novo sistema de animação para projetos baseados em DOTS oferece as principais funcionalidades de animação, como combinação de animação, IK, root motion, camadas e mascaramento, com mais recursos em breve. Já está disponível como pacote experimental por meio do nosso projeto DOTS Sample.
Atualizações para DOTS Game Code (visualização)
Com esse lançamento do DOTS, os programadores não precisam escrever tanto código de boilerplate. Você pode substituir componentes de criação personalizados com um simples atributo [GenerateAuthoringComponent] e substitua os elementos IJobForEach e IJobForEachWithEntity verbosos pelo Entities.ForEach() simplificado, porém tão rápido quanto, que agora usa o Compilador Burst e o sistema de trabalho em C#.
Instale o pacote Entities (visualização) do Package Manager para começar a escrever código DOTS.
Unity Physics
O projeto DOTS Sample aproveita o novo sistema sem estado do Unity Physics para detecção de colisões e consultas espaciais. A engine é programada em C#/HPC# e demonstra o que pode ser alcançado com o Compilador Burst. Graças à nova engine do Physics, nós podemos realizar detecção rápida e precisa de colisões para jogadores, ambientes e projéteis, bem como resolver a detecção de acertos. O Unity Physics também alimenta o controlador de personagens na amostra e nos caso de uso, como o sistema de posicionamento do pé preciso e eficaz no projeto DOTS Sample.
Netcode
O FPS NetCode usado no DOTS Sample é desenvolvido com base no DOTS e facilita a criação de jogos em rede com arquitetura semelhante. Oferece previsão do lado do cliente, servidor autoritário e interpolação graças ao protocolo de dados amigável para redes. Obtenha uma introdução ao FPS NetCode com a palestra de Tim Johansson na Unite.
Instale os pacotes Unity Transport e Unity NetCode do Package Manager para começar a usar.
Atualizações para DSPGraph
Também continuamos a trabalhar no sistema de mixagem e renderização de áudio para DOTS. Especificamente, nós reescrevemos o DSPGraph, nossa nova engine de áudio de baixo nível, para maior desempenho e adicionamos a capacidade de executar subgráficos que não contribuem para a saída do gráfico. Isso significa que você pode, por exemplo, conectar um nó no meio de um gráfico de áudio que conta batidas por minuto, sem afetar o sinal de áudio.
Participe do fórum de discussão sobre áudio do DOTS para fazer perguntas e compartilhar suas necessidades de áudio conosco.