Final Major Project - Polishing Further 2/2
As well as fixing some the terrain issues, I decided to improve the feel of the movement in the game. I have been using root motion dodging from the start of my project. This enabled me to have a realistic movement when dodging, however, some animations were not blending together and this meant that doding in some directions would force awkard movements or barely any movement at all. also, this meant that the player could change dodge direciton halfway through dodging, which felt weird.
Either way, the inconsistent movement when dodging was ruining the experience and I really wanted omnidirectional dodging with my third person camera view.
Therefore, I added a small dodge function in script that would move the player in a certain direction based on certain variables:
Dodge Speed, Dodge Distance, Maximum dodge duration and Dodge Stopping speed.
I created these limits/variables so that I could finetune the dodge quite well. Dodging has to look and feel right and has to integrate well with the rest of the movement, so allowing maximum control over different factors of the dodge allowed me to tweak it carefully. Also, since it is now in script, the dodge starts in one direction and the player moves in that direction until the dodge has finished. The dodging is quick so wanting to changing direction mid dodge would be unlikely anyway. With a little testing form others I will be able to finetune the dodge a lot more precisely now.
I also dampened the change in the players movement blend tree to create smoother movement between blends. This makes it feel and look much better with no snapping, even with keyboard.
Lastly, but not least, I adding fading to objects near the camera. When doing executions, quite a lot of the time I saw players view being blocked by leaves or trees since the camera is not pulled forward at the risk of not being able to see the execution properly...
Anyway, so I decided to go into the shadergrpah being used for the trees and added a small section that fades the alpha clip threshold based on distance from the camera. I had some issues with objects having different distances and fading so just exposed the max distance before fading. I also used dithering to make the whole object fade with that crosshatching effect you see in games.
I wanted to do this using screen space position but this would not work, so Ive used ditance from the camera. This runs the risk of objects fading only when nearby even if not obstructing the view, but if they arent obstructing view but are close to the camera they are likely not visible by the player anyway.
It is not as strong as I would like with the leaves as they layer on top of eachother. I may have to use a multiplier effect on leaves, but at the moment it just about works!