How would I make a tattoo system

Hello, I am trying to make a tattoo system where random R15 dummies come in and you can give them a tattoo. The problem is, I don’t really know how I would start this.

My first idea was to get SurfaceGui’s, put them on all parts of the R15 dummy’s body, put frames on them, then detect if the player is clicking on the frames (and if so then a dot image gets cloned onto it). The problem with this is, SurfaceGui’s don’t wrap around meshes and curved objects .

I tried looking into something called the SurfaceGuiWrapper Module, but I don’t think it works for meshes.

How would I find alternative ways to make a tattoo system, or extend on the SurfaceGui idea?

Probably to use Blender and make some tattoos using thin parts. Import the dummy into Blender and use that as a size comparison to make sure the tattoo size isn’t too small or too big.

I think instead of using SurfaceGuis and putting dot images on them you can try to replace them by using cylinders and making them look like dots.

I am not trying to make set tattoos that the player can just pick. I am trying to make it so the player can actually like draw on a dummy.

That I don’t really know a solution to. Maybe there’s some modules online that can help you with that. I guess you could also connect a function to the player’s cursor movement that makes parts positioned at the cursor but that’s not probably a good idea. The parts will start glitching and flickering while they’re into eachother and considering tons of parts will be created, it would cause tiny lag spikes as well. Though, you can experiment.

Use textures, not surfaceguis.

I’m pretty sure that’s exactly what he should do. Using raycasting you can have that effect.

Not really, considering since this is about tattoos they’re probably gonna be entirely black and have no texture. That’s not gonna cause glitching and flickering.

True, if they’re all the same colour nothing bad will happen

Another issue that would happen is that Roblox characters are not entirely flat. Some parts are slightly curved and if he would position parts right on the body part, they would be uneven and it would look bad.

  • I have bad experience with raycasting, raycasting can have issues such an inaccuracy and slowness. It all depends on if it’s a server script or a local script though.
1 Like

IF you can find any module or tool that you can add a SurfaceGUI to round parts or mesh parts with, you can then use that and connect a function to player’s mouse movement that takes in the player’s cursor position and then creates a frame positioned at the player’s cursor’s position.

You can then just add the UICorner object parented under the frame and it will be a nice black round dot.

Of course, you would have to use a formula to find out where exactly you would have to position the frame.