Thursday, 23 November 2017

Overhead Bike Blueprint

For my cutscene, I knew I had to create a bike that could move and be animated in the world.

I built the bike on the character blueprint so that the player could have some control in the scenes and the inputs would be already set up.

The bike is created from textured unreal primitives with a mannequin character as the rider.


I created a Ribbon particle effect to serve as the light for the bike, which generates a really nice effect, and is the exact effect I was looking to recreate.

Shown below is the blueprint code for controlling the camera, allowing it to follow the bike independently of the player controlling the bike left and right.


The bike automatically moves forward, driving along the road, which is automatically spawned in front of it. The player is able to control the left and right movement. You can see the particle effect for the rear light in the screen shot below.


As per the storyboard, there is a second camera shot for a closeup of the rider. This differs from the storyboard shot slightly as it is further back so that more of the background can be seen, keeping the sense of speed.


Wednesday, 8 November 2017

Overhead Road Creation

My storyboard sketch called for a long initial overhead section where a bike is driving for a long period.

In practice, creating a large level like this is impractical and time consuming, so I came up with a solution.

I used an 'infinite runner' game tutorial to allow me to create an infinite 'rolling road' that the camera could follow the bike along for as long as required without creating a large unwieldy level.

A section of the road used is shown below. It contains all the environment details required such as the road, buildings and lighting.


This road section will continue to spawn in front of the moving bike for as long as required due to how it is set up.

A trigger box at the end of each section detects when the bike reaches this point and spawns a new road section ahead of the bike off-screen. The blueprint for this is below.


To avoid the road sections looking too similar and to add some dynamic and interesting elements to the scene, the buildings will always be different sizes, so that it's not just a flat wall of buildings along the edges.

This is achieved with construction script within the road blueprint. This code executes whenever a new road section is spawned in, ensuring new and interesting results every time.


And here is a shot of the final overhead view with added post process outline for a futuristic neon wireframe effect.


Thursday, 2 November 2017

Animation analysis

In this section I will analyse the animation options available to us when creating a cutscene in a game engine, in our case Unreal Engine.

Below I will analyse several options available to us both externally and in engine, exploring advantages and disadvantages.

Maya Animations


One option available to us is to create the animations from scratch using the Maya sequence and graph editor.
The Maya editor is very advanced and allows for complex animations. These are created using Keyframes and can be refined using the Curve editor. These animation can then be exported and used in the game engine.
The advantages of using this method are that you will get custom animations perfect for the purpose.
The disadvantages are that it is very time consuming to create the animations, and you could have to rig your character from scratch which will take more time.
I most likely won't be using this method due to time constraints, though I may look into it for the Final Major Project.

Pre-made animations (Mixamo, Fuse, Unreal Marketplace, etc.)


With services such as Mixamo, Fuse and the Unreal Marketplace, there are pre-made animations available for us to use in our projects. There is a lot of choice and more than likely there will be an animation that's useful to you.
The advantages of using these services are that you will save a lot of time by not having to create custom animations and Mixamo will even rig your character for you.
The disadvantages are that the animations may not be perfect for your purpose, only 'good enough', and the rigging is not 100% accurate.
This seems like the way I will go for my character animations in my cutscene. There isn't enough time to rig and animate a character and there are animation packs on the Unreal Marketplace that should serve my purpose.

Unreal Spline Path


To move an object or character around a scene, we can use a Spline Path in the Unreal Engine.
This allows an object to smoothly move along a pre-defined path without too much programming skill.
This is good to use if we have something moving around a scene in a set way and it needs to repeat, such as cars driving around a track or a guard patrol.
The advantages of this method are that it doesn't need much programming skill to get working and doesn't take up much system resources.
Disadvantages include lack of flexibility, since this is the only path, the object cannot deviate from it. It can get quite unweildly if a complex movement path is required.
I don't know if this will be useful for my project yet, but I will look into it.

AI Move To


To move a character around a scene, we can also use the Unreal Engine AI system.
The way we achieve this is by using the AI Move To blueprint node to guide a character to specific points in the scene.
This is a good way to create quite complex paths and it usually looks less false than the Spline method.
The advantages of this method are that the animation is handled by the Animation Blueprint in the Character Pawn, using the speed and rotation of the AI to create a more natural animation.
Disadvantages are that this has a higher hit on the system, as it is running a character AI. The animation points need to be handled by a program, so slightly more blueprint knowledge is required than the spline method.
This could be used in my project, I will look into it.

Unreal Sequencer


This is a relatively new addition to Unreal Engine and is an extension and replacement to the older Matinee system.
This is purpose built for animating objects such as characters and cameras in a scene.
The sequence editor has similar views to the Maya Animation editor, with Keyframes and a Curve Editor.
Once they are keyframed, the way in which objects are moved around the scene are quite similar to the Spline method, but a lot more powerful, with more fine control over the curves, speed as well as additional options, such as rotation and scale.
For controlling cameras, the movement is controlled in the same method, using keyframes, but some additional options such as focus, cuts and transitions can also be keyed and animated, which makes it perfect for cutscene animation.
The sequencer is also tailor made for games, allowing for different scenes to play out based on player choice or interactions.


The advantages of the Sequencer are that the editor is very powerful and gives a lot of options. The interface will be very familiar to users who are used to Maya animation or video editing software, so experienced users can jump right in.
Disadvantages are that it can be very complex and could be overwhelming to newer users. The rotation option on animations it temperamental and can cause cameras and objects to spin wildly (though this can be mitigated by manual editing, and is due to be fixed in UE 4.19).
I will be definitely using this method in my project. The allowances for interaction and the fine control of object and camera animation are perfect for our project.