Criação de nível no Armory

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.

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.




All Articles