Motor de armería. Introducción





Entonces, les contaré sobre un motor de juego tan maravilloso como Armory3D . Fue escrito y desarrollado por Lubos Lenco , un programador eslovaco. También escribió Armory Paint , un programa para pintar texturas PBR en modelos 3D. Te diré qué lo hace tan notable:



  • Código abierto (licencia zlib)

  • Multiplataforma (Windows, Android, IOS, Linux, macOS)

  • Completamente gratis (puedes donar al autor para su desarrollo).



El motor está escrito en Haxe, C / C ++ y WebAssembly, se suministra como un complemento para Blender, pero otros paquetes de animación y modelado 3D también se integran fácilmente. El motor está optimizado para el rendimiento, la portabilidad y la ligereza del código, a diferencia de monstruos como Unity, Unreal, CryEngine, etc.



Componentes del motor



El motor consta de varios componentes, que comentaré a continuación:



  • Hacer. El motor tiene su propio sistema de renderizado de hierro. Se basa en los sombreadores EEVEE / Cycles Blender, pero solo parcialmente. Aquí hay una lista de los que puede usar .

  • Sistema de secuencias de comandos. Los scripts en Armory usan rasgos (característica, rasgo), parte de la lógica adjunta al objeto (más sobre esto a continuación)

  • Multiplataforma. El motor es compatible con todas las plataformas populares disponibles: PC (Windows, Linux, macOS), consolas (Xbox One - Series X, PS4, Nintendo Switch y SO móvil (Android, IOS).



Ahora sobre los scripts, hay 4 tipos de scripts en el motor:



  1. LogicNodeTraits: este es el análogo de los planos para Unreal Engine 4.

  2. Rasgos de Haxe: rasgos escritos en Haxe.

  3. Características del lienzo: interfaz de usuario, menús y más.

  4.  Rasgos de WASM: rasgos escritos en WebAssembly, Rust, C / C ++.



Tecnología del motor



El motor utiliza Iron, KHA y Haxe:



  • Hierro . El motor de renderizado interno está escrito en WebAssembly, KHA y Haxe. Fácilmente escalable ya que es modular. El propio Iron maneja los contenedores de renderizado, por lo que puede escribir su propio motor gráfico basado en él.

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

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



El motor no tiene una comunidad tan grande como Unreal o Unity, pero sin embargo merece atención. Después de todo, utiliza todas las tecnologías modernas, ligeras y modulares. El autor está desarrollando y mejorando gradualmente su creación, y el código fuente está disponible para todos.



Instalacion y configuracion



Ahora te diré cómo instalar el motor y hacer tu primer nivel de prueba (en la siguiente lección). Antes de comenzar, necesita saber cómo trabajar con Blender, es su herramienta principal. Si no, bueno, hay suficientes lecciones en la red. En mi propio nombre, puedo recomendar cursos de Artem Slakva (nunca un anuncio).



Lo que necesitamos:





La instalación es bastante simple: descargue y descomprima el archivo del motor. Instalar como complemento de Blender instalado.  Edit > Preferences… -> Add-ons -> armory.py.



Armory.py está en el archivo descomprimido. A continuación, habilite el complemento agregado con una marca de verificación.  Render: Armory Preferences: Add-ons.



Ahora debe verificar si el motor está instalado correctamente. En la pestaña, Renderverifique la ruta. SDK Path. Debe corresponder a donde tiene el SDK. Por ejemplo, D:\ArmorySDK2011\ArmorySDK,si no es así, al hacer clic en el icono de la carpeta en la misma carpeta, seleccione la ruta donde se descomprime el motor.





Guarde el archivo .blend y presione el botón F5 (reproducir) ubicado en el panel. Properties > Render > Armory Player. Los problemas comunes de instalación se pueden encontrar aquí .



El motor ya incluye Haxe y Kha, por lo que no es necesario instalarlos por separado.



Editor de código



Armory instalará automáticamente el editor de código "correcto". Funciona así: el motor escanea las variables del IDE instalado, y si, por ejemplo, tiene Visual Studio instalado, el valor predeterminado será VS. De lo contrario, se utilizará la variable de entorno del editor de código de la consola. 



El autor recomienda Kode Studio





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


Pero se puede utilizar cualquier editor: Sublime, Atom, Notepad ++, etc. Simplemente señale la Code Editor Executableruta a su editor.



La siguiente lección creará el primer nivel de prueba.



All Articles