Type
Game
Interactive Media
Role
Technical Artist
Unreal Engine Programmer
Date
July 2023 - December 2023
[Coming Soon]
I created a customizable character shader for the users to change as they desire during the course of the gameplay.
Character customization UI to change edit values of the player’s material. The sliders are dynamically generated by using an array of parameters and saved.
A key gameplay mechanic involves switching between modes, specifically character class type and pawn class type. This allows new methods of navigating the environment such as hovering over the environment or walking from the ground level.
A blueprint class where the team could select the type of interaction for each location using an enumerator. By making a child of this blueprint, the team used this as a template to decide on the interaction method of that event while adding their own custom events to build as an addition.
This process expedited the development of interactive areas with the desired interaction method and streamlined the procedure for determining the input mode.
Using the Unreal Engine’s Dynamic Mesh tool, I created a totem by combining different meshes from the environment. While the intent was for the players to generate their meshes in game, this process was too computationally heavy to generate in real-time. Thus, I programmed a function to save the generated mesh assets as a static mesh.
A stone material with moss was applied to the generated mesh. Using the material parameter collection, the moss would start to grow as the in-game time progresses.
User interface shader to indicate the total number of locations the user is able to visit while highlighting the node the user is currently in. The shader was made to be artist-friendly by inputting an XY value.
The mini-map concept contained divided the sections of the playable area with rings. I opted to use the Signed Distance Functions (SDFs) to create the mini-map which gave the flexibility to adjust the parameters when needed such as the circle radius and line thickness.
Additional functionality includes updating the player's location and the object of interest using the material parameter collection.
Despite my limited experience with shading, I was grateful for the opportunity to program the UI. This valuable experience has given me the confidence to use this method in future projects.