Práticas recomendadas gerais

Veja a seguir algumas práticas recomendadas gerais que recomendamos que todos os desenvolvedores sigam ao criar um projeto do Unreal Engine para a Realidade Misturada.

Construtores

Se você precisar do equivalente de um "construtor" nos blueprints, use o script de construção do Unreal. A principal vantagem de usar eventos "BeginPlay" é que o script de construtor também é executado no "editor". Na maioria das vezes, os valores podem ser armazenados em cache diretamente no início ou mesmo no tempo de compilação.

Observação

Você pode encontrar mais informações de suporte para scripts de Construção na visão geral das extensões do editor.

Botões e texturas em 3D

É natural pensar no desempenho ao criar ou planejar o uso de botões em 3D em aplicativos de realidade misturada. No entanto, nem tudo precisa ser feito de malhas para ser percebido como 3D. Você tem a opção de usar o Paper2D com texturas cuidadosamente criadas para obter a aparência 3D. Isso funciona muito bem para botões que "parecem" 3D, mas são apenas imagens com Photoshop em um quadrupleto. Uma versão sofisticada deles é chamada de sprite.

Variantes

Use as Variantes do Unreal em cenários em que você está criando uma cena com várias configurações de objeto no runtime. As variações podem incluir a alteração de materiais ou malhas.

Animação

Aproveite o Componente spline (não o componente de "malha" spline) e os Nós da linha do tempo se você estiver criando muitas "animações interativas".

Comunicações

Use um Blueprint de Nível se você estiver tendo problemas para localizar objetos dinamicamente ou estiver usando muita largura de banda para se comunicar entre vários atores e blueprints. Lembre-se de que o Unreal Engine 4 não é como o Unity, nem tudo precisa estar dentro de um componente. Blueprints de Nível são um modo perfeitamente válido e recomendado de simplificar a comunicação entre vários atores. As referências de objeto podem até mesmo ser armazenadas em cache na inicialização no OnBeginPlay do Blueprint de Nível.

Estado global

Geralmente, você precisará armazenar o estado específico de nível, como pontuação, dados de nível, informações específicas do player ou qualquer outra coisa que não pertença a um objeto específico. Não ignore o GameMode. A maioria das pessoas esquece que ele existe, mas o GameMode pode ser criado por nível e conter dados específicos para cada nível.

Como otimizar blueprints

Se você achar que os seus blueprints estão muito lentos, deixe o Unreal torná-los "nativos" antes de precisar reescrever o código em c++. Tente usar a nativização automática antes de criar a própria solução personalizada.

A configuração de blueprints com o método de nativização de blueprint com inclusive destacado