Blender 2.83 LTS and Uefy Script

Blender has been moving forward with new updates at light speed. Many new features have been added. Including new functionality for Rigify that is really awesome. Rigify was always a good rigging system but with these new updates it can truly stand on it own against some of the more larger systems.

These new updates and changes have been transparent to Uefy Script without any breaking effects. But there are some cosmetic changes to the interface you should be aware of when following what is shown in the older youtube tutorials.

FBX Import and Export

New location for FBX import / export options

When importing or exporting FBX files the options for the armature and animation are on the right side of the dialog box. Only the location has changed. You still get the same options and they still operate the same way.

Run Script Button

New run script button

The “Run Script” button has been shortened and looks like a play button now. It has the same function and nothing has changed.

Spine and Neck Joints

With it’s default settings Rigify requires the spine to be continuous without any breaks between the bones. With newer Blender releases it is now possible to select and move the lower spine without moving the neck and head.

However this still causes an error with Rigify when you try to the generate the rig. You can avoid this by moving the whole spine as one piece. Just make sure that when you adjust the bones the head and tail of adjacent bones in the metarig always overlap perfectly.

For example the Tail of Spine.004 should be in the exact same location as the head of Spine.003

If you do that the rig generates without any problems.

Advanced Spine and Neck Joints

It is possible to separate the neck and spine

It is actually possible to separate the neck and spine but requires an additional change to Rigify settings for metarig neck bone.

You have to turn off “Connect Chain” for Spine.004 in Pose Mode -> Bone Properties -> Rigify Type -> Options

After doing so the rig will generate without issue even if there is a break between the neck and spine. This could be great for rigging larger Brute/Hulk style characters.

This is a newer functionality that I’ve not used much but it seems to be working fine in the limited tests I’ve done with v1.3 of the script. I’ll have this fleshed out more for the next update.

Using Blueprint with C++

Step by Step guide to start using C++ for Unreal Engine 4

While it may seem daunting at first, we will see Unreal Engine provides a plethora of macros and features not commonly associated with C++ to make it very easy indeed.

Blueprint is an incredibly powerful visual scripting language provided by Unreal Engine 4. It provides the ability for anyone to create compelling games with advanced graphics by drawing out logic using nodes and pins instead of writing code.

However as pure Blueprint projects grow in size. They can become difficult to manage and organise. Even a small project can require a rather large code base. Pointedly it can cause difficulty with source control and sharing work between team members. Blueprint is a stepping stone to quickly get into game development. The correct way to proceed with a production quality project is to use a combination of Blueprint and C++.

The goal is to move Logic to cpp space while retaining the ability to set settings and options for quick design changes in Blueprint. Effectively we want a C++ backend and a Blueprint frontend.

Continue reading “Using Blueprint with C++”

Blueprint for Cycling Multiple Idle Animations

What makes games really pop and come to life are the small things. One of the most important of these is variation in character idle animations. Perhaps the most iconic of which are idle and repeat click animations on peasants and grunts in the Warcraft series of video games.

Achieving the same result in Unreal Engine 4 is pretty straight forward.

First we setup some preliminary variables in the AnimBlueprint for the 3d character model that shall have multiple Idle Animations.

Then we take the first sequence pin to setup Speed and IsInAir variables. The speed variable will drive the locomotion 1D blend animations while the IsInAir variable controls animations for falling and jumping.

And lastly we take the second sequence pin to set the switch boolean “Show Wait Anim” whenever a certain amount of time has lapsed. The blueprint starts counting time if speed is zero and hence the character is not moving.

If the character moves the timer is reset, the alternative idle animation is played and the timer is reset again to replay after another time interval.

This is a very simple system that can easily be expanded for more complex animations including variations in time and order of animations. So for example a character that is standing still might look around or shuffle in place every little while for a much more realistic and convincing appearance.