All posts related to V2
User avatar
By tom
#319382
Yes, both v1.x and 2.x supports multiple UV sets per object. What's your platform and plugin?
User avatar
By deadalvs
#319407
hi Tom !

i'm (still) on 1.x, xp 64, i don't have a 2.x license... i've been working with other renderers lately (*sigh*).

good to know there's the possibility to use multiple uv sets, but as i remember there was a huge change in the material editor and stackable layers, right ?
so.. can two color maps (*color*, *dirt*, with each one a different uv layer) be multiplied and then piped in the color channel ? or would i still need to create two layers and blend them with an alpha as it was standard in 1.x's material editor ?

[
i really wish i could always work with maxwell, but i need to do animations from time to time with huge datasets (working at www.procedural.com). and i'd really need more render passes (AO, maybe some custom ones) for post work...
]

hmm .. is there no chance to get an AO material ?? i know it's "biased", but it'd help so many users !
User avatar
By tom
#319445
If you have a real example, please post it so, we can talk what is possible and what is not. :)
User avatar
By Mihnea Balta
#319459
We don't support multiple UV sets in Maya because it treats them differently than Maxwell. In Maya, the choice of UV set is made for each material - object pair, so you can have the exact same material on two meshes, using different UV set mappings for each one. In Maxwell, the index of the UV set used by each texture is stored inside the material (like in Max), so we can't translate everything that you can do in Maya to Maxwell.

We could either duplicate shared materials or simply ignore the problem and export the first mapping we encounter. The first solution would be inefficient (or complex, if we try to only duplicate when a different mapping is encountered). The second solution will work in many cases, but it will fail silently when different mappings are used, which is a nasty way to fail (it creates a WTF moment for the user). It would also introduce significant complications in the viewport preview code. Since, on the other hand, we haven't had many requests for this feature, we decided against implementing it.
User avatar
By deadalvs
#319535
muahaha, the WTF moment .. hehe..

* * *

okay, my example.

check out our "pompeji" example. in the movie ( http://www.procedural.com/cityengine/pr ... mpeii.html ) you can see a closeup animation of the facades. they're built like this:

"color channel" x "dirt channel" (different pictures on same white clean plaster)

the openGL renderer gets two different uv sets per facade (uvs are set up before the facade is split into smaller pieces with our cga grammar), one for the color texture and one for the dirt texture. they two channels can of course have different uv coordinates. mostly, the main plaster is a repeating (tileable) texture, while the dirt is repeated exactly one over a whole facade.
so it's important to know that the openGL display just multiplies those values directly in the display, there's no incredibly huge "baked" pool of textures lying on the harddrive.

we can write out the .fbx format which carries the data correctly (as you see in the movie which was rendered in renderMan).

my computer's still importing a large fbx file, but i'll post a screengrab of the shading network that maya generates so we can discuss this later on..

* * *

maybe a MEL script could pick the network apart and repipe it ..
User avatar
By Mihnea Balta
#319946
I know how it works in Maya and I know how to extract the data, but as I said, I can't pass it to Maxwell, because Maxwell has a more limited way of dealing with UV set assignments. In Maya you can do this:

1. Make a material with two layers, each with a different color texture.
2. Assign it to an object with two UV sets. Make the first color texture use the first set and the second texture use the second set.
3. Assign the same material to an object with only one UV set. Make both textures use that set.

There's no way to translate this to Maxwell (or to do it in Max and in a bunch of other 3D apps). Maxwell simply stores a channel index inside each texture, so when you get to step 3 in the example above, the second texture will try to use an inexisting UV set. You'd have to duplicate the material to be able to use a different mapping on the second object. There's one more complication: in step 3 you can use an object with two UV sets, but assign the first texture to the second set (in creation order), and the second texture to the first set. That's another thing that won't work in Maxwell, because it maps by index, not by name.
Sketchup 2025 Released

Thank you Fernando!!!!!!!!!!!!!!!!!!!!!!!!!!! hwol[…]

I've noticed that "export all" creates l[…]

hmmm can you elaborate a bit about the the use of […]

render engines and Maxwell

Funny, I think, that when I check CG sites they ar[…]