Setting UVs on torus

Hi guys, I am trying to set UVs on torus, I set new array of UVs but when I move vectors nothing happens. Anyone knows why? Thanks!

PS. Lets say for example I want to make letters at inner side of torus and make it smaller.


The property is called frontUVs for CreateTorus and is a simple Vector4 (also, you need to set sideOrientation:BABYLON.Mesh.DOUBLESIDE for it to have any effect). So it probably won’t help if you want to change the uv mapping.

If the default uvs generated for the torus don’t suit you, then you should probably use a DCC tool (like Blender) to generate something that suits your needs, I’m afraid.

Thanks for the answer!
I made it by offsetting and scaling the uvs.I am struggling now to show just one letter instead of all.
Do you have maybe hint, should I make it in Blender? Not sure how…

I don’t know how to do it with only one additional uv values. Maybe some artists will have some tricks for you (@PatrickRyan would probably, but he is currently on vacation).

Or maybe you could use a texture decal to project a single letter (you will need a separate texture per letter, though)?



I am trying to set the UVs so I can use normal map instead of letters.

For example if I want to engrave something on torus (my future ring). The thing is UVs are multiplying texture if I change scale like on previous example.

Can I use normal map as decal?

I was using also this as test example. Added a torus but projection is bad. :smiley:

Not currently with texture decal, but you could use a mesh decal instead, which generates a mesh. So, you can use any material for this mesh.

1 Like

@brotha.haaris, I’m not sure I’m following exactly what you want to do, but it sounds to me like you are trying to create a product customizer - being able to create a custom engrave on a mesh through the normal texture. I wrote a blog about this before on our Medium page. The gist here is that we are using dynamic textures to populate the PBR texture parameters of a mesh in the scene. You can see in the playground that the skateboard mesh is assigned a node material, but it is using the standard PBR-MR workflow. In this case, we are mixing the albedo texture authored with the asset with a dynamic texture created by the choices made by the user to place graphics in custom locations on the asset.

You can do this with any of the textures like a normal texture, but you will need to author the node material slightly differently to mix the normal data correctly. You will also have to author the user defined elements to be mixed with the asset normal to either have a flat background (127, 127, 255) or you can use an alpha channel to mask out the background for mixing the normal textures together.

Hope this helps but let me know if I am way off in my understanding of what you are trying to do.


Hey Patrick, thanks for answer!

Yes I am working on an ring customizer where I want to engrave something on inner side of the ring.

Thanks for your feedback, this will help me!
I guess I will need to dive in into the node material editor, will try to make something…

1 Like