Gimme more UV Channels! (Please)

It would be very nice to have access to more than 2 uv channels per mesh.

As a matter of fact, I wish there was a way to create user defined channels to pass custom data per vertex. Until that is possible, gimme more UV channels please :slight_smile:

P.S. Am I the only one who wishes for more UV channels or some nice way to pass custom data per vertex. Using other channels like normal or tangent works that is until you need them.

Just out of interest, what kind of data do you need?

+1 to more UV channels.

I’ve read somewhere here on forums that they’re working on it (maybe it is done already in some devel version).

For example, let’s say you create a mesh that contains a bunch of rectangles but you want the border around those rectangles to be a constant thickness regardless of the aspect ratio of these rectangles. In this case, you would want to provide the shader with information about each rectangles on a vertex per vertex basis to ensure constant border thickness.

Or maybe you want this mesh to also contain other shapes like circles or line segments, then you would need a way to let the shader know what it needs to render.

Crude example of a single mesh containing different shapes using a single shader that can switch types and maintain even border thickness.
1471210--80881--$Outline Shader.JPG

That’s just a simple example.

I needed it for custom terrain, in which 1. uv is the main texture, 2. uv secondary texture, 3. uv splat map, 4. uv noise. As Stephan said, I’m using the tangents now but it is hack.

and then you add more features which require the use of the normal and tangent channel and then you end up packing 2 floats into a single one to free up that Y (V) in one of the UV channels to get that special data your shader needs :slight_smile:

+1 on the need for more UV channels… I am making a game where I am doing models that will get damaged in the course of a battle…

such as this…

And the good thing is, my UVs are already set up so that I can just apply the damage as a decal. But for now I am forced to use material swaps which I know are slow as HELL. And I am also using SSS which complicates things…

http://forum.unity3d.com/threads/166615-How-many-uv-channels-does-unity-4-support?p=1140840&viewfull=1#post1140840

I’m not sure about for the use the OP intended, but for Neptune_Imaging, you could use vertex colours and a vertex blending shader to get the damaged look without material swaps. Of course, this is assuming your not using the colour data for anything else.

http://forum.unity3d.com/threads/177669-BindChannels-maximum-two-uv-sets/page2?p=1248629&viewfull=1#post1248629

I was searching for that one but couldn’t find it anymore :slight_smile:

The format of vertex data is largely dependent on the GPU hardware and the graphics pipeline, what it supports and how you have to work with it, and the drivers. If the graphics hardware simple does not have more than 2 UV channels supported then there is pretty much nothing you can do to add more channels for that purpose, and have to resort to using other unused channels as mentioned like the tangents. It would be nice to customize everything but hardware has to be very specific in order to be highly optimizable. You also could read in more UV channel data from textures using Vertex Texture Fetch on DX10+.

It wasn’t in 4.3 so I do hope it is in 4.4 or soon.

for realz…only having 2 uv sets sucks. Quite ridiculous…hope that comes in soon.

I am using Marmoset and a pre integrated skin shader… I don’t know how to use this

And another reason for having more than 2 UV channels… Lightmapping… Unity uses that 2nd UV channel for lightmapping.

Please get us more vertex attributes like additional UV channels, vertex color, etc…