Description
Player Customization has always been a gameplay element I loved working on. In this side project, I explored a way to customize a model’s texture, inspired by miniature painting. I Made it for a possible mech combat game, where the player would be able to paint the Armor panels on top of other aspects of the vehicle.
On top of the basic functionality of the XR template, the player is able to use spray paint to paint the model with any color. Once the player presses the trigger to paint, a mask is created on the model depending on the strength of the trigger pull and the position of the spray paint canister. Once applied we use a composite render target to save the applied mask and reset the model’s material.
info
Platform: PC (Valve Index)
Engine: Unreal Engine
Time: 1 Week
team Size: 1
LEARNING ACHIEVEMENTS
Render targets
During my previous projects, I’ve sporadically with render targets, often only for basic mirrors/ in-game cameras. during this project I wanted to delve deeper and use them in a different way than I had before. It has helped me better get a better basic understanding of them and optimize their use, finally being able to create the system with just one render target.
The Full Pipeline
Since the system required a model’s UVs to be set up in a specific way, it required me to get familiar enough with Blender to be able to create some basic models. Doing this has shown me new aspects of where possible solutions could be for technical art issues. Using specific UV layouts are things I have never really explored fully and are now things I will look at when I know I’ll be working with shaders/ materials.
Unreal OpenXR
When choosing an engine for this project I wanted to go somewhat out of my comfort zone. I’ve done multiple prototypes in Unity using the SteamVR plugin, So I wanted to look at how Unreal’s templates and VR implementation are. Besides some hurdles in the beginning the new OpenXR template seems to function quite well. On top of the actual XR plugin, I’m surprised by how well it runs. I’ve always worried