
Olá! No post anterior eu falei sobre o motor Armory, agora vamos criar nosso primeiro nível nele. Na verdade, criar níveis no Armory não é praticamente diferente de trabalhar no mesmo Unreal ou Unity - você também pode importar ativos, criar seus próprios ali (este é o Blender!), Aplicar texturas e outras coisas. Como mencionei, para trabalhar com o motor, você precisa de um talento especial para trabalhar com o Blender, já que Armory está intimamente relacionado a ele. Não vou entrar em detalhes sobre como adicionar um avião, cubo ou lâmpada à cena - apenas trabalhe com o motor. Pronto? Vamos começar então.
Em primeiro lugar, você pode baixar um arquivo de modelo pronto , com base no qual analisaremos o que e como funciona. No arquivo, precisamos de playground.blend. Nós clicamos e corremos. Agora vamos ver quais opções de lançamento temos.
Armory Player:
Runtime:
Krom .
Browser .
Camera:
Scene .
Viewport, . , .
.
Cube, Cylinder, Ground, Lamp, Wall, Lamp (spot) . (grid_base, grid _rough), . ? .
, , - , , , , F . - Blender. .
, Timeline 1, , I - Rotation . 60 . , R I - Rotation . .
(Cube), Physics Rigid Body. Collision.

Rigid Body :
Active , .
Passive .

Light, Spot. .
Shader Editor - World. - HDR .
, . Logic Node - blueprints Unreal Engine 4. . Haxe / .
5 :
Events - .
Actions - (events) .
Logic - , , , …
Variables - .
Values - .
. Logic Editor - New . Shift - A.

On Update . .
In Set Object Location . Object , , . .
( In Out) . , ( ). ( ) .
Vector Location Set Object Location . .
X, Math Sine.
Math ( ).
Y Z , . Get Object Location, Separate XYZ , XYZ, Y Z Y / Z Vector , .
Armory Project > Flags > Debug Console.
Haxe
“F” Haxe. , , (Rigid Body Active). Empty, - . Haxe traits Properties - Object - Armory Traits. New Script. Kode Studio - .
package arm;
import iron.object.Object;
import iron.system.Input;
import iron.Scene;
import armory.trait.physics.RigidBody;
class SpawnBox extends iron.Trait {
public function new() {
super();
// We want to get notified every frame
notifyOnUpdate(update);
}
function update() {
// f key was pressed
if (Input.getKeyboard().started("f")) {
// Spawn Box object
Scene.active.spawnObject("Box", null, boxSpawned);
}
}
// Box just got spawned
function boxSpawned(o:Object) {
// Translate cube to the location of empty object
var traitOwner = object;
o.transform.loc.setFrom(traitOwner.transform.loc);
// Box object has a rigid body trait
// Notify physics system to take new location into effect!
o.getTrait(RigidBody).syncTransform();
}
}
Armory . traits. PhysicsDrag traits. traits .
Armory UI

- Armory UI. UI, Scene, traits UI Armory Traits. New Canvas Edit Canvas - . Armor UI Text . Properties. .

rmory , Render - Armory Render Path . .

Construir e publicar nosso projeto está localizado em Properties - Render - Armory Exporter. Você pode fazer várias predefinições de exportação, cada uma com uma plataforma, API, caminho e cena para iniciar. Selecione a plataforma necessária (por exemplo, Windows) e clique em Publicar. Os arquivos exportados e coletados podem ser visualizados clicando no triângulo (destacado em vermelho) - Abrir pasta.