• Zac Walton

Week 09: Cascade implementation and Customiser Blockout

Updated: May 19, 2019

Whilst I still have more design to implement, I decided to jump back into engine and researched particle systems. The biggest hurdle during this process was getting the player controller to interactc with the particle system (for customising the particle colour). I originally wanted to change the beam properties though the player/game mode so that I could use one particle for the beam, however, through testing and research, I found that I it was possible to create a particle effect variable, which I set in the construction script by calling the value stored in the game mode. This means that I can change/add/remove particle/element types as needed and simply by adding a new pin in the even construction script and setting it to the new particle type (as everything is set by integers).



I can duplicate the particle asset and swap out the material to create entirely new beam types very quickly.

The material is simply generated using noiose and bands, which means there is no texture that needs to be loaded. I used parameters so that the beam's size and colour can be changed through instancing.



Special Attack Beam Blueprints. The character holds a particle and colour variable which is set on the event construct. When the beam is emmitted, it creates a dynamic material instance and sets the new colour and style to the what is stored in the variable.

The particle is set up so that the start and end points can be set by the user. In this case, I have simply used the location of the capsule to spawn the beam from the player, the end point is set to the impact point of the line trace if available, or a specific distance along the line trace if not (the set range of the special attack).

Final part of the special attack blueprint.

I have also blocked out the UI menu so that the colours and items of the player can be customised. The customisation items were modelled by a friend to save time. I used dynamic material instances a lot on the player character so that I only need to use one base material. A list of variables are stored in the game mode so they are not reset upon death. These variables are updated when the values are changed in the customiser and the values are set to the player in the character construction script. The menu will respawn the player in order to refresh the values, except in the case of the base mesh colours, which can be updated through the dynamic material instance.



I tested these values to create allometry on the player cahracter. When the player's scale is adjusted, the head will scale seperately, this prevents large characters from having comically small heads (or unsettlingly large heads) and vice versa for small characters. This also adds a sense of realism to the world.





How the menu sets the hat item.


2 views