I’ve created a couple of simple assets and I’ll experiment with different animations and their potential uses in my project.
Here’s a chest model I’ve created. I want the model’s lid to jump up and spin before landing back down. To create this I started with the root joint at the bottom (this is required to work properly when I bring it into UE4) then I created one joint which was bound to the lid and the other for it to move up towards. I then made sure to copy and paste the exact same translate data so it’s a perfect loop.
Here’s a small segment of the timeline in Maya. It works very similar to how a Matinee in UE4 works. This was useful as I was able to pick it up quite easily.
Here’s the animation paused midway as the lid finishes it’s spin and prepares to fall back down. I’ll use what I learnt from this to create additional animations and also plan how they might be used in game. For example this chest will play this animation in my game when the player character hits it as it spits out loot.
Here’s a simple bollard that I’ve made which will act as a barrier in my game. I created a simple animation without a skeleton to where it lowers and raises out the ground. When I implement this into my project however I could animate it without maya and simply use a timeline or matinee in UE4.
Here’s a skeleton for an animated tree I created which blows subtlety in the wind. This will be great for environmental scenes as it adds a small bit of movement which makes the scene feel more alive.
An issue I had with my tree and bench model was when exporting it into UE4 the collision was placed too high. The character would hover above the mesh so I changed the settings from simple collision to complex where it’s a lot tighter and allows the character to walk along the mesh surface like you’d expect.
I also added a hologram material to the tree to make it slightly transparent and give it animated moving lines.
I decided to remove the scanlines however as they were too noisy. I wanted to go for something a lot simpler. I created a material instance with the colour being a variable that can be changed.
Here’s a road sign I created in maya. The sign will comically spin in place when the player attacks it.
Here’s a sign which will slowly rotate with a hologram texture. I placed a joint to the centre part and bonded it to the skin.
I then placed a key on the start of the timeline and made sure to only key the “rotate y” so it only rotates on that axis.
In the graph editor I then went on tangets>post infinity>linear so it continues to rotate on that axis for the whole animation.
An issue I came across was when I placed my animated sign into unreal the two objects (the stand and the spinning sign itself) were not grouped together and so when I rotated/moved/scaled one the other was left behind. To solve this I selected both meshs and pressed CTRL-G which groups the actors together. This makes it much easier when placing/duplicating this animated asset.
Here’s my texture I created in Photoshop. I wasn’t happy with how it turned out so I had another go at creating a hologram material. I created normal maps on Photoshop and blended it with the colour map and a separate pink colour. I made the pink colour a variable so I can easily make different colour versions for variation. I also used the panner node to create moving lines (like a real hologram would) I also had it set to translucent not opaque so it doesn’t cast shadows as holograms themselves are made light.
Here’s the preview of the new material.
Here’s the new material placed on the model!
Robot Character Animations
I designed a cute robot character in maya which I will then rig and animate to be later exported into unreal engine.I started with mindmaps/moodboards of ideas which later helped me draw up some simple concept art. I then modelled it in Maya and textured in substance painter.
I then placed joints and began rigging the skeleton however a major issue I came across was the joints were struggling to determine which part of the mesh they were supposed to be pulling so it morphed my character whenever a joint moved or rotated.
Here you can see when the shoulder joint was rotated other parts of the mesh such as the face and hip were also moving. I did some research and discovered skin weight which is how maya determines what part of the mesh is manipulated by the different joints. I read up on the “paint skinweight tool” and taught myself how to assign each joint the correct part of the mesh.
Here you can see the joints change colour from orange to green depending on how much of the mesh they control. The root joint in the centre is the parent of all the connecting joints so it moves the entire mesh and then they become less strong as it branches out.
When using the paint tool you change the value of the brush to paint the mesh white for where you want the joint to have control over. I’m really happy with the final result as now each joint works correctly. I’ll make sure to use this tool in future assets whenever I come across any mesh’s morphing in ways I didn’t intend.
I also did some research into ‘Squash and Stretch’. This is known as a principle of animation as by adding subtle squashing or stretching to the mesh during an animation gives the movement more life. I found this part really important when animating my robot character
‘Squash and Stretch gives life and flexibility but not only that! It can help convey what the material that something is made of. In the bouncing ball case, very little S&S will indicate a firmer material, like a ping-pong ball or a bowling ball. A rubber ball, would naturally have more S&S.’ (Hurtt, 2017)
My robot character is made out of metal so it wouldn’t make sense for there to be much S&S but also his limbs are floating so I can stretch the distance between the limbs during animations such as walking or jumping but the actual sections themselves wouldn’t really change. If I was however making an animation for something less dense like rubber then there would be much more movement in the animation.
I begun animating the IDLE animation for the robot. This includes the floating limbs moving up and down as they levitate and the head moving. It’s very subtle but will give the character some life when they’re not moving. I grabbed the shoulders, neck and hip joints and moved them at 30 frames and back to their original position at 60. This makes the movement very slow and smooth.
I’ll place the different animations as different meshes in Unreal to later show them off. I’ll make a video and add it to the end of this blog post.
I began working on the robot’s walking cycle. One issue I found was it look unnatural (even if it is a robot) I realised when someone walks it’s not just there legs but their arms, hips and torso which moves too. I manipulated the joints so that the arms swung opposite to the legs and the torso rolled from side to side as the legs switched weight. This came up a much more pleasing animation. I also gave him a little head tilt when walking which stays true to the cute character that I’m going for.
When I played it in Unreal however I realised it was too slow so I edited the rate scale.
I doubled the speed and realised I could make blueprints to change the animation speed in game which will be really useful when giving this character the ability to sprint.
Here’s a video showcasing the animated assets in action.
I’m happy with my 8 animated assets as I’ve learnt about joints, bones, S&S and skin weight. These will be really important as I continue to practice with animations and hopefully create more complex sequences. My robot character will require many more animations such as different attacks and jumping so I’m glad I already rigged the skeleton in this unit as it’ll make the process much quicker.
It did take me awhile to get the hand of rigging models in the first few attempts. I had issues with placing joints/bones which weren’t necessary but after experimenting and watching how the animations play out I now have a better understanding of the process and my speed at creating animations is much quicker.
If I were to repeat the unit again I’d spend more time creating more interesting animations like the walking cycle. This animation although required lots of different joints to make it look realistic was really enjoyable and I’m really proud of the end product. I want my project to have lots of more complex animations rather then just the odd one or two.
It’s important to also think about the style of animation which I use. I’ve gone for very campy cartoon movements so for the sake of consistency in my project I’ll ensure all my other assets follow the same style.
Hurtt, C. (2017). Squash and Stretch: The 12 Basic Principles of Animation. [online] Animation Mentor Blog. Available at: http://blog.animationmentor.com/squash-and-stretch-the-12-basic-principles-of-animation/ [Accessed 17 Oct. 2018].