Hello everyone.
I’m not sure if this is the right section so if it isn’t mods please move this.
I am developing a game in which the player can buy his own car and can customize it. I have already implimented a system where the player can change the colour and bodyparts of their car. What I want to do is have the player be able to make a custom livery or paint job for his car using decals that they apply in a livery editor like the one in Forza however I’m not sure on how to approach this. If anyone has any ideas on how to do this it would be nice to hear them.
Thanks, Zac.
There are decal shaders. Then it is matter of changing texture used as decal. Next time try Unity Answers.
I know about decal shaders but what I want to know is how the player can project shapes or logos onto the car to create a custom livery. I don’t think this belongs on Unity Answers because I wan’t discussion on it and the forums are a much easier place to have one
Nice… incomplete, incorrect and rude. Great job!
drift501,
I have been playing with something similar, (though not cars). My approach has been (so far), has been dupe the mesh and overlay it and using the same shader as the base (assuming it has has transparency, or a modified one with transparency added). And then during the editing portion, translate location and rotation of the decal image around on that mesh based on whatever input method you are using (mouse, touch, keys, etc…). When the user “commits” the decal, I take that positioning data and combine decal image to the base texture. The result being that during actual game play, the object is just using a single texture, and shader appearance. I have also played with doing the same on the spec map so it can have a subtle difference there if I wanted (like a matte appearance).
I assume there is probably a much better way of doing this using a projector (or similar) and some more complex mapping.
The challenge with doing it this way, is that UV has to be structured in a way that minimizes the distortion and splits.
If anyone as a more robust solution, I would be interested in hearing it was well.
I do agree that there is probably a better solution however if this one works and I get nothing else I will look into it, thanks