Can one achieve the effect of "overlapping" surfaces?

I think my question boils down to whether it's possible to somehow define several "overlapping" surfaces for an object (and then have the object experience a combination of effects applied to these surfaces) -- allow me to explain with an example:

So I got a nice 3D model of a pair of ice skates (Ice Skate Shoe 3D model | CGTrader). Its .obj file imports as a single prop node, which contains one surface (Main_Surface), and various face groups defined for each part of each skate (i.e. R_blade, R_shoe, L_blade, L_shoe, etc). It also comes with a few textures (Base, Height, Normal, Roughness, Metallic) in separate .png files. 

The textures work fine when applied to the singular Main_Surface of the prop, and both skates are "painted" correctly. However, now what I'd like to do, is to be able to change the colors of the different skate elements, e.g. the left shoe -- and ideally create a prop where the color of different parts could be easily changed, while retaining, if possible, the effects of the original textures that are defined for the whole "Ice Skates" object.

Now, I can define a surface (let's say R_shoe_surface) and assign there all the polygons from the R_shoe face group. Then I can change the color of this shoe surface specifically. However, as far as I can tell, this removes these polygons from the original Main_Surface, for which all the original textures are defined, so I "lose" their effects. 

So is there a way to keep/apply the original textures defined for the whole "Ice Skates" prop, while also defining & using different colors for different "sub-surfaces"? I.e. if I have a texture (e.g. Height) applied to the big surface defined for the whole skate(s), can I also define a different (sub-)surface for a smaller element, and assign a different color to it directly? 

Maybe another way to put it is -- can a polygon be in some sense in two different surfaces, and combine the effects of colors/textures applied to these surfaces? Or maybe this is something that can be accomplished with shaders (don't know much about them yet), i.e. a texture defined for a big surface, but then an overlapping shader effect for a part of it, or the other way around? Or maybe rigging (or proper parenting) could help, i.e. apply one color to the whole "body", but then specify an overlapping color for a "leg"?

Any help would be much appreciated, thank you! 

Comments

  • CES3DCES3D Posts: 117

    Assign the original Main Surface Group's textures to all the divided Sub Surface Groups. Then, for only the necessary Sub Surface Groups, you can either change the textures or layer textures using the Layered Image Editor.

    Screenshot 2025-01-20 125302.jpg
    2560 x 1400 - 989K
  • crosswindcrosswind Posts: 7,690

    malswansky said:

    I think my question boils down to whether it's possible to somehow define several "overlapping" surfaces for an object (and then have the object experience a combination of effects applied to these surfaces) -- allow me to explain with an example:

    So I got a nice 3D model of a pair of ice skates (Ice Skate Shoe 3D model | CGTrader). Its .obj file imports as a single prop node, which contains one surface (Main_Surface), and various face groups defined for each part of each skate (i.e. R_blade, R_shoe, L_blade, L_shoe, etc). It also comes with a few textures (Base, Height, Normal, Roughness, Metallic) in separate .png files. 

    The textures work fine when applied to the singular Main_Surface of the prop, and both skates are "painted" correctly. However, now what I'd like to do, is to be able to change the colors of the different skate elements, e.g. the left shoe -- and ideally create a prop where the color of different parts could be easily changed, while retaining, if possible, the effects of the original textures that are defined for the whole "Ice Skates" object.

    Now, I can define a surface (let's say R_shoe_surface) and assign there all the polygons from the R_shoe face group. Then I can change the color of this shoe surface specifically. However, as far as I can tell, this removes these polygons from the original Main_Surface, for which all the original textures are defined, so I "lose" their effects. 

    Both of shoes share the same UV layout on which the "original single texture map" was made..., but that won't prevent you from defining material zones (Surfaces), by using Geometry Editor > Create Surface from Selected Polygons. Like the example in below ss1, I defined material zones for left and right shoe separately, then I could freely assign / define diffrent materials no matter by using the original texture maps or different Shader Presets (to over-ride base texture maps).

    So is there a way to keep/apply the original textures defined for the whole "Ice Skates" prop, while also defining & using different colors for different "sub-surfaces"? I.e. if I have a texture (e.g. Height) applied to the big surface defined for the whole skate(s), can I also define a different (sub-)surface for a smaller element, and assign a different color to it directly? 

    There's no "sub-surfaces" that you can define... but you can add more texture effects by using LIE as CES3D mentioned or using a geo-shell.

    Maybe another way to put it is -- can a polygon be in some sense in two different surfaces, and combine the effects of colors/textures applied to these surfaces? Or maybe this is something that can be accomplished with shaders (don't know much about them yet), i.e. a texture defined for a big surface, but then an overlapping shader effect for a part of it, or the other way around? Or maybe rigging (or proper parenting) could help, i.e. apply one color to the whole "body", but then specify an overlapping color for a "leg"?

    Nope, a single polygon can be only assiged to one Surface. Yes, quite a lot of Shader products can be well used in such cases like yours. For instance, in the below screenshot, I applied different shaders on left / right clips. Rigging has nothing to do with defining material zones / surfaces...

    Any help would be much appreciated, thank you! 

    SNAG-2025-1-20-011.png
    2560 x 1392 - 1M
  • Thank you both very much, I was able to do it, and I think I understand the mapping aspect of textures to surfaces much better now. As a noob, it didn't occur to me that different surfaces of the same object can and do actually use the same texture(s), i.e. that (correct me if I'm wrong) each surface "knows" via the mapping which colors/features to "take" from the common texture image that is defined for the whole 3D object. So you can apply a given texture/shader to any number of different surfaces of a 3D object, and then also apply another texture/shader to any subset of these surfaces, etc (just restating in my own words for any other noobs that is trying to wrap their head around how surface mappings work).

Sign In or Register to comment.