Character Set up and scene polishing
This week I did not replace the greybox for the second maze I had to do other tasks. The main task was implementing the character models that Sandra made, along with the animations she had taken from Mixamo.com.
I chose to do this job as I have experience of doing this for other games so I know a lot about animation state machines and blend spaces.
The animation state machine was easy to set up as the character only had 5 different states, swinging, running, building and taking damage, with a default idle animation.
Each state is determined by a boolean which is the set in the event graph.
These states are linked to booleans in the player character blueprint. This meant that if I set it in the character, it would then set it in the animation blueprint.
Within here, the blend space speed is also determined with the use of getting the players velocity and setting the speed float variable which is then used to termine later on in the graph if the player is running or not.
A blend space works by blending two animations together, at the left is the characters idle animation, on the right is the characters run. This then allows for a fairly seemless transition from idle to run, meaning instead of the player suddenly changing state, they slowly transition from looking around to running.
I had to do this system twice as we wanted both a boy and girl version. This did not take too long as I copied all the code from the boy version to the girl and just had to set up the blend space and variables again to get it to work properly
Then in the character blueprint I created a construction script that would set the skeletal mesh and animation class according to whether the character was a girl or boy.
This boolean could then be linked to a button at the beginning of the game.
I then set up the characters assessories, mainly the mason jar backpack, net and lantern. Each of these were set up in seperate blueprints which then bound themselves to different sockets on the players skeletons. As the two characters had seperate skeletons I had two create sockets on both skeletons, both with the same name and positioning.
For the character and lamp, I set up the same code, each with different sockets to attach to. In the blueprint I had to change the position of the mesh so that it would fit properly to the character.
For the backpack I added some extra code and a light to help create the feel that the player is actually catching the fireflies.
Here the game checks if the player has any fireflies or flame bugs and the sets the visibility of a mesh to true if they have some. The blueprint also has a yellow light to help with player visibility and feel like fireflies are inside the jar.
To fix some issues with some animations like building I disabled the players to ability, so they could not run off while the building animation played as that would of looked weird.
The bridge also had an issue where the nav mesh. Either the player could cross the bridge while it was broken which meant they could get stuck in the middle, intially I fixed this by making so the player could not cross it with a collion box in its bp which would be destroyed once the player fixed the brige. But this messed with the nav mesh as once the player built the bridge, they could not cross it as the nav mesh would not rebuild. To fix this I added a collision box in the broxen mesh that stopped players from crossing the bridge and getting stuck in the middle. This would then dissappear once the mesh was set to the fixed mesh and the player would be able to cross the bridge fine.
To help light the maze as well I added street lamp that is made out of a plant, modelled by Sandra. This fit with the theme of neon fantasy forest and worked very well at illuminating parts of the maze.
I decided to make the light of both this and the players lantern blue as from reseach we did in pre-production, fireflies are not affected by blue light. It also fits in well with the aethetic of the game, with the floor being a mix of purple and pink.
This week, I have done a lot on the project, with the creating of the character animation blueprints and polishing the scene. Next week I will continue to polish the scene and bug fix the animations.