Armory Tutorial Series

New text tutorials now online:
Creating Custom Nodes
Camera & Character Controllers

The first one shows you how to extend Armory by creating your own custom logic nodes, in this case we implement a simple node for switching the active camera. The second one shows how to use cameras, with both Haxe and Nodes, then looks at some of the built in and Logic Pack options for camera controls.
Also published the video for Sound & Music tutorial. Of course the Table of Contents is here, while the playlist is here.

2 Likes

Ah ok, that makes a lot more sense. Will certainly be covering animations.

thanks, looking forward for it! And great new additions in the meantime! :slight_smile:

Have already watched some of your videos!

I’d like to know more about animation and how one can best create typical locomotion states, whether there are blend trees/blendspaces and layered/filtered animation.

2 Likes

Thanks for the support. Keep up the good work! It has been helpful to me.:slight_smile:

Particles tutorial, please.

I definitely want to cover particles, but I think it’s a topic I could just touch at a surface level, as I think this is an area in the engine that is subject to a lot of future implementation and change. Prefer to try to avoid those kinds of topics for now, figuring it’s one of those topics I should wait on. Is this accurate Lubos, or would such a tutorial stay pretty stable?

Going to get the two missing videos done this week and working on an animation tutorial next as that seems to be the most requested topic. New video should be online tomorrow.

Kinda sucks though, Youtube is being pretty awful, so a lot of people aren’t getting notified of new videos which suffice to say is a bit annoying. Then again, I can’t complain too much, Blender had their entire channel blocked! :wink:

Armory3D creating custom logic nodes video tutorial now live, showcasing how to extended Logic Nodes in Blender by creating plugins using Haxe. This is the video version of this text tutorial. I’m not 1 video away from parity with the text tutorials… woot.

3 Likes

Added a new text tutorial Scenes and levels. Covers organizing a game into multiple scenes, switching between them and instancing data from another scene.

Now that series is more mature with the basics covered I’ll probably be updating at about a weekly pace. Animation with actions is next up.

4 Likes

The video tutorial for Cameras and Character Controllers is available now. Hopefully I can get the video tutorial for Scenes and Levels completed soon and finally be at parity with the text tutorials.

1 Like

After a bit of a delay, here is a new text tutorial Animation. It includes a very simple Blend download illustrating an armature with two named animations attached, as well as one marker per animation. Haxe and Node examples as per usual.

1 Like

Well, could you explain more about creating minimal blend file (maybe just cube) which would work
with few animations using nodes? I completely fail with such setup. I create actions, no problem but they never work. Is NLA editor required? I’m really confused here.

Need to mention all your previous tutorials are very dense and clear while at times short. Do you have patreon to support you?

Glad you are enjoying them. Yes I have a Patreon (this is it)

There is a linked darned near minimum Blend file as part of the existing tutorial, available here. That said, I knew/know the process of creating action strips that work with game engines is a bit of a nightmare, it’s not unique to armory, every game engine I’ve worked with has fought with Blender over this. I was humming and hawing over covering it in detail and chose not to, as such a topic would be entirely about Blender. In the end after your comment I decided screw it, I’ll do such a tutorial. I’ll get it up on the site tomorrow once I proof read and polish it, but for now, here is the process of creating an Armory ready animation step by step in PDF form.

Thank you for your work.

Might I suggest an addition of another animation and rigging them with nodes so that they are played at keypresses?

My common problem with Armory and animations is the following:
when I use script which recursively finds and then plays animation, it works:

package arm;

import iron.object.Object;
import iron.system.Input;
import iron.object.Transform;
import iron.object.BoneAnimation;

class CharacterController extends iron.Trait {
        var transform : Transform;
        var animation : BoneAnimation;
        public function new() {
                super();

                notifyOnInit(function() {
                        notifyOnUpdate(update);
                        transform = object.transform;
                        animation = findAnimation(object.getChild("test_model"));
                });

                // notifyOnUpdate(function() {
                // });

                // notifyOnRemove(function() {
                // });
        }
        function findAnimation(o:Object):BoneAnimation
        {
                if (o.animation != null)
                        return cast o.animation;
                for (c in o.children) {
                        var co = findAnimation(c);
                        if (co != null)
                                return co;
                }
                return null;
        }
        function update()
        {
                var keyboard = Input.getKeyboard();
                if (keyboard.started("r"))
                        animation.play("Stand");
                if (keyboard.started("i"))
                        animation.play("Default");
        }
}

but when I try to use animation nodes, it never works.
I don’t use NLA editor though, I just create animations for armature, name them in Action Editor
(and press F so they are kept). Using the above script the animations are played fine, but when I use animation nodes, it allows me to select animatio (action) but it is never played. So I wonder what I am doing wrong. So for me to understand it is crucial to see node-based animation with multiple animations on single object. Pleeeeease…

So far as I can tell, Animation nodes only use actions. If the action doesn’t play, its almost certainly because of how it was configured inside Blender. The process is extremely fickle. If you try creating your actions using Action strips instead, does the result not work?

New quick tutorial in the ongoing series, was on the back burner, but saw a specific forum question so pushed it to the foreground.

Using External Haxe Libraries in Armory

I would very much like a tutorial wherein a simple (but not too simple) game like Tetris or Arkanoid is implemented using scripting, featuring gameplay model classes, saving and loading the game at any point, animation (using Blender’s skeletal animation system, not just things being rotated and translated) and physics.

Nodes are pretty self-explanatory, but scripting either seems really badly documented or I suck at finding the right documentation. :yum: