In a traditional UV based texturing workflow, a lot of work goes into preparing an asset before a brush stroke ever begins to paint it’s beautiful textures. That object must be essentially cut apart and flattened into a two-dimensional UV layout so the textures can be painted and then re-wrapped onto the object. This workflow is relatively standard and even with the emergence of Ptex it's still by far a standard in most industries.
From a texture painter’s perspective, this is something that needs to be concrete before painting begins. In most cases, it's very difficult to make changes to an assets UV layout once textures have been completed because it will result in textures that must be fixed or recreated all together.
Not only that, but many artists just flat out don’t enjoy the UV layout process. This is a process that can be tedious and time consuming. Imagine the hardest jigsaw puzzle you’ve ever had to put together and multiply that by one hundred. Oh, and let’s take the picture off the puzzle while we are at it. Sound fun? We didn’t think so.
The Benefits of Texture Transfer
There are many different scenarios in which having the ability to transfer textures, unharmed between UV layouts become valuable.
Let’s say that your sculptor has just finished the high poly sculpt of an asset that now needs to be textured. Typically, before this can happen, the topology needs to be reworked if it will be animated and the UV Layout needs to be created. Because of Texture Transfer, these pieces of the process don’t necessarily have to happen before texture painting begins.
Depending on which application was used to create the high poly asset, there may be a quick UV solution built into the sculpting application. Mudbox for example has the ability to create a UV layout for an asset automatically. While it’s not pretty, this is all you need to begin painting textures. Zbrush can use UV Master to quickly generate a UV layout for a sculpt. Later on, once a proper set of UVs have been created, the textures can simply be transferred over to the new layout.
So what happens if you don’t have access to a sculpting application? Not to worry, simply take your high poly asset and create a Ptex project in MARI so you can start texturing. Once the re-topology and UV work have been done, you’ll be able to transfer those textures from the Ptex asset over to the new layout as well.
Transferring Texture Channels Between Layouts
Transferring textures inside MARI works in two basic ways. This first one we’ll look into involves transferring the contents of a channel from one UV layout to another.
The first thing you’ll want to do is open the project that has the existing textures you’ve painted on the old UV layout. This will be our source. With this project open, use the Objects palette to add in the new .obj file containing the asset’s new UV layout. With both objects added to the project, go to the Channel menu and select Transfer.
The options tab in the Channel Transfer dialog is pretty straight forward. On the left, you’ll need to select the source object and version (if it has more than one). Once you do, the channels that currently exist for that object will show up below. Next, you’ll configure the destination object on the right. Once this is done, you’ll need to manually move each channel you want to transfer to the new layout using the arrows in the center.
Transferring Texture Layers Between Layouts
The second way to transfer textures from one UV layout to another is on a layer by layer basis. To do this, you’ll need to setup your project exactly as described above. Bring in your .obj with the new UV layout using the Objects palette. From here, you’ll access the Transfer option from the Layers menu instead of the Channels menu.
Once you get into the Layer Transfer dialog, you’ll quickly see that it works exactly the same way as the Channel Transfer dialog. The only addition here is the ability to select a channel that you wish to transfer layers from.
Advanced Options for Transfer
No matter if you're transferring texture channels or texture layers, you’ll need to have some understanding of the advanced options for the transfer. When you go to the Advanced tab in either texture transfer dialog, you’ll see something that looks like this.
The Source and Destination boxes at the top of this dialog relate to animated assets. Here you can specify source and destination frames as well as patches to transfer.
Something else you’ll need to understand is that the way MARI performs the transfer is by using a method known as ray casting. Rays are cast from each point in the destination mesh to search for textures to bring in. The Search option basically tells MARI which method of ray casting to use. In our experience, Radial is a great option here.
Another important option here is Object Has Moved. This is a setting that not only should be set to yes if an object has physically been moved in world space but also if its topology has changed.
Regardless of the situation, if you're a MARI user then having the ability to move textures between assets can be an absolute lifesaver. While this may seem like a simple feature that was added with MARI 2.6, the scenarios where this will be handy are really numerous.
If you’d like to learn more about this powerful workflow and see it in action, make sure and check out our course Transferring Textures Between Assets in MARI.