Armory Engine. Introdução





Então, vou falar sobre um motor de jogo maravilhoso como o Armory3D . Foi escrito e desenvolvido por Lubos Lenco , um programador eslovaco. Ele também escreveu o Armory Paint , um programa para pintar texturas PBR em modelos 3D. Deixe-me dizer por que é notável:



  • Código aberto (licença zlib)

  • Plataforma cruzada (Windows, Android, IOS, Linux, macOS)

  • Completamente grátis (você pode doar para o autor para desenvolvimento).



O motor é escrito em Haxe, C / C ++ e WebAssembly, vem como um add-on para o Blender, mas outros pacotes de modelagem e animação 3D também são facilmente integrados. O motor é otimizado para desempenho, portabilidade e leveza do código, ao contrário de monstros como Unity, Unreal, CryEngine etc.



Componentes do motor



O motor consiste em vários componentes, que discutirei a seguir:



  • Render. O motor tem seu próprio sistema de renderização de Ferro. É baseado nos shaders EEVEE / Cycles Blender, mas apenas parcialmente. Aqui está uma lista daqueles que você pode usar .

  • Sistema de script. Scripts em Armory usam traços (característica, característica), parte da lógica anexada ao objeto (mais sobre isso abaixo)

  • Multi plataforma. O mecanismo oferece suporte imediato a todas as plataformas populares disponíveis - PCs (Windows, Linux, macOS), consoles (Xbox One - Série X, PS4, Nintendo Switch e sistema operacional móvel (Android, IOS).



Agora sobre scripts, existem 4 tipos de scripts no mecanismo:



  1. LogicNodeTraits: Este é o análogo dos projetos para o Unreal Engine 4.

  2. Traços Haxe: traços escritos em Haxe.

  3. Traços da tela: interface do usuário, menus e muito mais.

  4.  Traços WASM: traços escritos em WebAssembly, Rust, C / C ++.



Tecnologia de motor



O motor usa Ferro, KHA e Haxe:



  • Ferro . O mecanismo de renderização interno é escrito em WebAssembly, KHA e Haxe. Facilmente escalonável, pois é modular. O próprio Iron lida com recipientes de renderização, então você pode escrever seu próprio mecanismo gráfico com base nele.

  • Haxe. , , , -. . . python lua, c++ . .

  • KHA. SDK   . , . KHA API , . , (Metal, Vulkan, DirectX, WebGL OpenGL). .



O motor não tem uma grande comunidade como Unreal ou Unity, mas mesmo assim merece atenção. Afinal, ele utiliza todas as tecnologias modernas, leves e modulares. O autor está gradualmente desenvolvendo e melhorando sua criação, e o código-fonte está disponível para todos.



Instalação e configuração



Agora vou lhe dizer como instalar o motor e fazer seu primeiro nível de teste (na próxima lição). Antes de começar, você precisa saber como trabalhar com o Blender - é sua ferramenta principal. Se não, bem, há lições suficientes na rede. Em meu próprio nome, posso recomendar cursos de Artem Slakva (nunca um anúncio).



O que precisamos:





A instalação é muito simples - baixe e descompacte o arquivo do motor. Instale como um complemento para o Blender instalado.  Edit > Preferences… -> Add-ons -> armory.py.



Armory.py está no arquivo descompactado. Em seguida, habilite o add-on adicionado com uma marca em  Render: Armory Preferences: Add-ons.



Agora você precisa verificar se o mecanismo está instalado corretamente. Na aba, Renderverifique o caminho SDK Path. Deve corresponder ao local onde você possui o SDK. Por exemplo, D:\ArmorySDK2011\ArmorySDK,se não, então clicando no ícone de pasta na mesma pasta, selecione o caminho onde seu mecanismo está descompactado.





Salve o arquivo .blend e pressione o botão F5 (reproduzir) localizado no painel Properties > Render > Armory Player. Problemas comuns de instalação podem ser encontrados aqui .



O motor já inclui Haxe e Kha, então você não precisa instalá-los separadamente.



Editor de código



O Armory instalará automaticamente o editor de código "correto". Funciona assim: o mecanismo examina as variáveis ​​do IDE instalado e se, por exemplo, você tiver o Visual Studio instalado, o padrão será VS. Caso contrário, a variável de ambiente do editor de código do console será usada. 



Autor recomenda Kode Studio





"haxe.executable": "ArmorySDK/Kha/Tools/haxe/haxe-linux64",
"kha.khaPath": "ArmorySDK/Kha",
"krom.kromPath": "ArmorySDK/Krom"


Mas qualquer editor pode ser usado: Sublime, Atom, Notepad ++ etc. Basta apontar o Code Editor Executablecaminho para o seu editor.



A próxima lição criará o primeiro nível de teste.



All Articles