Finding the perfect Uv layout for mari

Having a good UV Layout is the foundation for all the texturing work that will be done later.

In this article I want to give you some insights into the beautiful world of UV-layouts.

Finding the 'perfect' UV layout for Mari

Before being able to texture your assets (unless you are working with Ptex) there is this tedious work that we call UV layouting.

I have spend quite some time doing UV layouts in the past and I am aware of this uncomfortable feeling that comes with making UVs:

At first it seems like an huge amount of work, to do all the unwrapping. In the end you are uncertain if your layout is going to work for the job.

In preparation for my projects I have looked through the internet to see what I can find concerning UV layouting and surprisingly I have found very little. So in order to fill the gap I want to try to provide you with all my discoveries that I have found in the beautiful world of UVs.

PLANING your layout

In order to find an UV layout that works for your asset you can think about the following questions:


  • Is it an asset that is going to be seen in all verious angles or only from one certain view?
  • How much screen space is it going to take? Is it an extreme close-up of your asset or is it somewhere in the background?
  • Is it going to be seen in multiple shots, or only once?
  • Is it the final model, or are there going to be modeling changes?


Depending on the answers you may already know how much effort you should put into your UV Layout:

If it is a finished asset that you only see once you can probably get away with any kind of UV Layout.


For this article I want to focus more on those assets that will be seen in multiple shots, various angles and with ongoing modeling tweaks: An asset that you will be texturing for weeks or even months and therefore would curse your UV layout if it turns out to be not sufficient.

making the uvs

The art of making nice UVs seems to have faded with the arrival of 3D texturing applications like Mari. Projection based texturing in 3D space is much more forgiving than it used to be when using a 2D program like Photoshop. Nonetheless you should pay attention to some aspects while making your UVs:


  • On some parts you might need to paint directly on to the 2D UV layout. If you have a rope for example it might make sense to unwrap it into a rectangular shape in order to paint it effortlessly, instead of trying to paint it in the 3D perspective.


  • Try to stay away from making your UVs by using automatic algorithms only. Those tend to cut your model into too many tiny pieces that might make trouble in Mari. To speed up the process you can use your automatic UV script but after that try to weld the pieces to a bigger UV shell. That way it will be easier to make the UV Layout later on as well.


  • Take a look at your model's mesh - resolution. If there are areas that are extremly low res you should think about subdividing it once before continuing. Otherwise you might end up with distorted textures in rendering. To understand this problem think of a cube, with a regular cube uv layout. If you apply several iterations of subdivisions the cube is becoming a sphere. In you render that object your textures will be heavily distorted and you can do nothing to fix it. So at least be aware of that problem and look out for low-res areas. If you are using the program 'UV layout': it has a function (when loading an object activate the SUBD checkbox in the type field) to compensate for the UV smooting during the sub-d process while rendering. I haven't found another program yet that has this function.


findning the right scale for your UVs

Once you have made all your UVs, you have to unify their scaling. That can be done using either a command in your UV programm of choice or manually scaling them while looking at the model with a checkerboard texture applied. If your asset is only going to be seen from one angle, you might think of increasing the scale of the correspondant UVs. If it is going to be seen from multiple angles I would try to keep their scaling on the same level. That way you can also use procedural textures in Mari spread out uniformly since Mari is taking the UV size into consideration.


Now that you have your UVs in the right scale relationship you have to figure out the overall scale. To do so you can make a render of your asset in the closest kind of way that it will be seen in the final shot with the proper render resolution. Test it using a checkerboard texture with a resolution that matches your texture-resolution. If the checkerboard is looking sharp in the rendering, your scaling should work for your shots. In that case you can proceed with the next step.

Test rendering to check the resolution on a close up
Test rendering to check the resolution on a close up

layouting your uvs

So your UVs are now all ready to be layouted. But where do we start? You get a piece of paper and a pen! Draw 10 cubes on a horizontal line next to each other. They will represent the UDIM space that you have available in one row. UDIMs are not limited in the upwards direction so you can always add another row on top of those 10 cubes. Now try to come up with groups in which you can devide your model's UVs. In most cases you can just take a look at your model's hierarchy. If you have a character you might come up with the following groups: head, chest, lower body, left arm, right arm, left leg, right leg. That way we can devide our character into those 7 UDIMS leaving 2 UDIMS empty. In each of those "groups" you can also make subgroups for example for the leg: upper-, lower - leg, foot. Those subgroups can be arranged in the vertical direction of your UV Layout.


Now that you have sketched out your UV Layout blueprint on paper you can start moving your UVs around: Get all the UVs from the head pieces into UDIM 1001 and so on. If your model is going to be changed you can think about grouping all the correspondent UVs of a mesh close to each other. It will help you to incorprate changed meshes into your old layout: The deleted UVs will open you an area where you can put your new UVs into. Otherwise you might have to squeeze them here and there, or open up another UDIM and your layout will start to become messy.

Plan for UV Layout
Plan for UV Layout

mirroring in mari

Until now there is not a real mirroring function inside of Mari. The best way to mirror your texture from one side of your asset to the other is to use identical UV layouted UDIMs. That way you can just copy for example the textures from the left lower leg over to the right lower leg. There are several options to make identical UV layouts: You make the layout for one site and then you either transfer your UVs onto the other side or you mirror the whole mesh. Some UV programs also have a special mirror option.


If you want to mirror your textures without using different UDIMs you can also arrange your UVs in a symmetrical way within one UDIM. That way you can select the UDIM in Mari  that you want to mirror and go to > Patches > Mirror.


Once you have put all UV shells into their UDIMs your UV-layout should be ready to use!

Mirrored UV layout within UDIM
Mirrored UV layout within UDIM

That's all there is to worry about! Once you are done you can look forward to texturing your asset.

If you found this article to be any usefull please let me know in the comments section down below!

I would also like to hear if you have  any additions to the topic of UV layouting.


Otherwise thanks for reading!