General Category > Anim8or v1.0 Discussion Forum

V1.0b small material bug

(1/2) > >>

Create material one in object mode.
Create material two in file mode.
Create mesh.
Apply material one to a few faces.
Apply material two to a few different faces.
Material two appears on all faces.
I think the problem is that they both have
the default name material01.

This is how it's designed. Materials are bound by name. There are two layers, file = global, object = local. When an object's material is bound Anim8or first looks in the object material list for the name. It it finds it the that is the material used. If not, then Anim8or looks in the file material list.

I understand how it works.It's fine.
My point is if the material name is the  material identifier,
there should be no duplicate especially if it brings a
malfunction in the eye of the user.
My suggestion was simply when a material is created
to extend the search for a duplicate to the entire file.

Claude, I disagree.
Per Object materials are overrides to the file material. If you could not have the same name then you cant override a material without having to select all faces of said material and then assign a new material.
You might have 3 models each with different flight group colours, instead of having to select all FGDecal materials and then changing for each model to a new name, you simply share materials then in each model you only have to change the colour of FGDecal, no selections and easy make an nth model since no need to change names.


Here's my logic for designing materials this way:

1. There is a need for materials local to each object. Putting all of the materials in one giant pool quickly becomes unwieldy for large projects. So there are object-level materials.

2. There is a need for using the same material in multiple objects. Making changes to this material is difficult if you need to edit each one individually. So there are global-level materials.

3. If you import an object with a large number of materials and some of them have the same name as an existing material, how should it be handled? Anim8or's two layered scheme avoids requiring the user to rename a lot of the local materials whose names conflict with global material names.


[0] Message Index

[#] Next page

Go to full version