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].