How to select a surface only in the layer visible


Hey there. I’m looking to select an object by it’s surface to pull it apart. However, I only want to adjust the surface on the layer which is visible as the surface occurs on other layers I want to remain. Maya seems counter productive as it selects all of the surface, no matter what.

Has anyone figured out how to get around this?


Render layers (I’m assuming) are designed to let you create different versions of objects/attributes in the same scene. They are not designed to create duplicate versions of the same objects.

If you want an object to be in different physical states in different layers (by “pull apart” I assume you mean breaking up the mesh), then you have to create a duplicate of that object in the other layer.

If nothing else is changing in the scene, then you don’t actually need another layer. You can animate the visibility of the original object and the broken apart object to switch between them in the same layer.


It was more than duplication and breaking apart. Say I have two objects object A and object B, both on different layers sharing the same material. Then I want to delete the material only from object b. How do I only select that material on object b without selecting a?

As i said, it’s a very simple thing that works on every other 3D app i’ve used. Select by material on specific objects without selecting every model with that surface.


Your terminology is a bit confusing.

In this sentence:
“Say I have two objects object A and object B, both on different layers sharing the same surface.”

what exactly do you mean when you say “sharing the same surface”? Are you referring to their material?


I apologize. Materials are called surfaces in lightwave, and I jump from one package to another. But yeah, material - my bad. (edited my post)


When you create a material in Maya, it exists across all Render Layers. If you create multiple layers with objects that use the same material, they’re all referencing the same material node. Therefore, if you adjust any parameters on that node, they will update across all layers.

If you wish to make layer-specific adjustments, you need to first right-click a parameter and then choose “Create Layer Override”. It will mark the parameter orange, which indicates that any change made to it will only affect the current layer.

You can override the same parameter on different layers, to have different settings. Parameters that are not overridden, will inherit their settings from the master layer.

Deleting the material node will delete it from the scene, and therefore from every layer. If you wish to “remove” the material from a specific layer, you should simply assign a different material to the object in that layer.


Thanks, it’s a very long winded way though just to select a surface on a specific layer. But thanks for the help.


Excellent breakdown. I had to learn this the hard way when I first started using render layers. Not sure if op was talking about regular layers or not.

You can also right click on a material and it will give you the option to select objects with that material assigned.


And this is another reason why maya needs a MultiSubObject Material like in 3dsMax. Material assignments are essential on a per object basis.
(yes, I’ve submitted this to AutoEmptyDesk numerous times) :slight_smile:


peter wrote me this little script… its selecting a material by object…

just select a face and get all faces selected with this material on the object…

import maya.cmds as mc
# select object or face
b =[0].split("[")[0] # remember a token for comparison below
mc.hyperShade(smn=1) # that will select the shader
s =[0] # remember the selected shader
sg = mc.listConnections(s+".oc", s=0, d=1)[0] # figure out the shading group
# select the faces of the same object with same shader attached
l = []
for o in mc.sets(sg, q=1):
    if b not in o: continue


for game assets multisub are great…

but for rendering i dont like them at all… every material should be its own object… if you have thousand of objects in your scene its much easier to controll them by scripts… face assignment will bring you in big trouble if you have to use several render layer and thousand of materials…


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.