Jump to content

Material of Model is not a subset of reference material - Error


Aurelia Chauveau
 Share

You are about to reply to a thread that has been inactive for 937 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hi Guys

 

I've read the other threads with this issue, but it all seems to do with Blender and I'm a Maya user.

I am just in testing phase so I just have one LOD for now, One material and I get this message every time. I am using the very latest SL viewer. I have reset the uploader... nothing.

I tired deleting all the history, freezing transforms, using the standard lambert material, tried using a new material etc etc on my model in Maya and I have no idea why I get this message. I have tried 12 different times, adjusting different settings in Maya before exporting etc etc and I still get no where.

 

If anyone has any clue as to how to fix this please let me know.

 

*** Edit*** I figured it must have something to do with Exporting from Zbrush into Maya and then trying to export from Maya.  Does anyone know the work around for this?

 

Thanks again

Aurelia.

 

  • Like 1
Link to comment
Share on other sites

Hi. The mesh uploader in SecondLife doesn't work if your different LOD models (files) have a diffierent number of Materials.  So if your main object has 2 texturable areas, let's say, then all LODs have to have 2 as well, even if it's just represented by one sad lonely triangle in there.

Could this be the problem you're running into?

Link to comment
Share on other sites

In fact the requirement is even stricter than that. The material(s) must have the same names too, even if there's only one. In the Collada, the name that matters is the "xxx" in the material="xxx" attribure inside the <triangles...> or <polylist...> tag(s). That must be the same for equivalent parts of the geometry at each LOD. I can't tell you for sure where that name comes from in the Maya exporter, but if you make sure your two LODs are using exactly the same material, that should work.

Link to comment
Share on other sites

I have been seeing this issue quite a bit.  Even if you apply a new lambert material, your object can still carry properties the zbrush material.  I have been trying to figure out exaclty how to fix this, but for the easiest workaround I have right now is simply to export the model from Maya as an OBJ and then re-import it into the scene.  When things get screwed up with materials or normals, this is an easy reset.  I do this now and then as it can solve quite a number of issues.  If this doesn't help though, let me know.  

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

When you model your different LoDs they must have the same number of "sides" as one another. If you are using a multi-subobject material (3dsmax) then you have to make sure the same number of sides exist on each LoD version of the model you are exporting for upload.

Link to comment
Share on other sites

  • 4 weeks later...
  • 8 months later...
  • 5 months later...

hi

 

i have the same problem which was not there before. i using 3dsmax2014. the problem exist even when the material are reset and the no skinning and checked stl check still no errors except in sl "the material of mode is not the subset of the reference model."

 

need help please. if i can upload the mesh then i can sortout the texture issue and the rigging skin weight that is not a problem.

thank you

 

vish

:matte-motes-not-even:  :(

Link to comment
Share on other sites

hi

 

i found the reason is that the materials or the maps are linked to working model;

some files from the folder which is not being used or doesnot exist due change of location of the folder or deleted folder which leads to this problem.

 

this solved my problem.

 

thank you ;)

Link to comment
Share on other sites

  • 2 weeks later...

hi

 

when i solved the maerials problem i started facing the hulls problem..

 

as i solved the problem of hull it shows the material is not a subset xyz again donot get where the problem lies.

 

thank you for your valueable help. 

i already removed complete references and also the materials and  also reset the material eidtor completely and then reapplied new material and the maps  but still no success..  :(

 

thank you

 

vish

Link to comment
Share on other sites

  • 3 years later...

I had the same issue and i fixed it this way. I was upolading a mesh and its physyc (a simple cube)  in a separate file. Unfortunately i forgot to give the physyc a material! When i gave the physyc one of the 8 material of the mesh, everything was fixed! I hope this can help.

Link to comment
Share on other sites

  • 2 years later...

I know this is an old topic. Just replying here because google ranked this near the top of search results for the error.

I had this same problem 2020 with blender 2.82

What worked for me was to join all the objects in my model into a single object. I then joined all the objects in the lod.

Having the model and its lod contain just one object each made it work for me.

  • Like 1
Link to comment
Share on other sites

Basically if I have this correctly (I have only seen this error once personally in seven years) --- you need to keep the same number of materials (materials defined as groups of vertices - quads -tris that have the same texture parameters)  CONSISTENT when you are making your own LODs.  The MINIMUM number of tris you can have for an LOD is the number of materials in the 3D object.   

 

Agreed that unless you have a specific reason to upload a model as a linkset (complex animation for example) it is better to upload as a joined single object OR upload sections individually.  So that was a good move for many reasons. 

 

Note that this was a single large object  with no need to have more complex lower LODs :D.  Yes, of course I tested LOL.   

 

image.png.ca84170d50af6984ac2f360ee28a4609.png

Link to comment
Share on other sites

Number of materials and actual material names have to be the same for mesh and LOD models, btw by materials I mean a multi-sub material with just diffuse texture for each "face"....If  parts of mesh are removed for lower LODs and it resulted in one or more faces completely gone, leave a triangle somewhere representing that material...

For Max users, naming matters, material names should not have any special characters, weird letters (i.e. đ,ž,č) or spaces....

Physic doesn`t have to have material assigned to it.

Just merging meshes will not resolve the error in question if said mesh has more then one face.

Link to comment
Share on other sites

  • 2 months later...
10 hours ago, DeviousDreams said:

Having this issue now for the first time. My LODs have exactly the same name and number of materials. The LODs were duplicates of the high poly and decimated. I have double, triple and quadruple checked. Not sure what this things issue is.

Check the number of triangles in your high LoD : if that exceeds 21k-ish triangles, chances are that this specific material gets automatically split into 2 materials, silently in the uploader, to fit within that limit threshold. That causes the material mismatch with the lower LoDs, hence the error message. 

Link to comment
Share on other sites

7 hours ago, OptimoMaximo said:

Check the number of triangles in your high LoD : if that exceeds 21k-ish triangles, chances are that this specific material gets automatically split into 2 materials, silently in the uploader, to fit within that limit threshold. That causes the material mismatch with the lower LoDs, hence the error message. 

Figured out what it was. I had 9 materials 😲. SL was excluding one and randomly selecting a material to assign. The non-LOD didn't give errors, it just assigned the wrong material to a group of faces, but the LOD failed because it randomly selected a different material I guess. This is one of the more complicated pieces I have made in SL and was unaware that the number of materials was limited to 8. thought it was a little higher. Hopefully my mistake helps someone else with this.
 

So....

  • No more than 8 materials
  • LODs have to have the same number of materials
  • Material names have to match

Edit: With that said, it would be nice if the importer flagged the main model if it has too many materials rather than waiting for the LOD to throw an error.

Edited by DeviousDreams
Link to comment
Share on other sites

12 hours ago, DeviousDreams said:

Edit: With that said, it would be nice if the importer flagged the main model if it has too many materials rather than waiting for the LOD to throw an error.

I agree, in fact I'd rather prefer if the uploader would stop trying to be helpful:

  • Reject models with more than 8 materials, the user is clearly doing something wrong.
  • Reject models that are over the vertex limit, the user is clearly doing something wrong.
  • Don't "generate" lods for us, if the user can make the high lod, they can make the low lod.
  • For the love of god, don't generate colliders based on visible mesh! Just have a default box be used if no collider is supplied.
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

I know this is an old thread, but I just fought with this. In my case, I had renamed all the objects and meshes in blender with LOD in the name, and after that, SL lost its mind and wouldn't upload them. i suspect there is some system of naming that lets you save your DAEs to have all LODs embedded in one file, but I have no idea what that naming system is.

 

So for now, I just stripped out all mention of LOD in my object/mesh names in Blender, and manually load each LOD in the uploader.

Link to comment
Share on other sites

It's _LOD2 for the medium LoD. Underscore lod1 and lod0 for low and lowest. And _PHYS. That is for the object names in the modelling app.

Since, more or less, recently, you can add the same suffix to the Dae files itself as well. The importer will find the files in the folder and loads them into the appropiate slots. 

Doing it just with a single file is still not supported. 

Edited by arton Rotaru
Link to comment
Share on other sites

On 9/24/2021 at 2:43 PM, arton Rotaru said:

It's _LOD2 for the medium LoD. Underscore lod1 and lod0 for low and lowest. And _PHYS. That is for the object names in the modelling app.

Since, more or less, recently, you can add the same suffix to the Dae files itself as well. The importer will find the files in the folder and loads them into the appropiate slots. 

Doing it just with a single file is still not supported. 

Sadly, the Jeremy Linden uploading a mesh model page has been wrong more or less since it was written as attested to by the comment from Drongle. Sadly despite many attempts to get LL to correct this, including submitting a fully annotated review as a google doc, highlighting each and every point about 2 years ago, nothing has been changed. It remains not only wrong but increasingly wrong as the entire look of the mesh uploader has changed a few times now. 

The primary error is in the description of the naming, which is so badly wrong as to cause most people who try to do the right thingto just give up and persist in using the old school "guess and hope" matching.

Quote

 The mesh uploader uses very strict naming rules for these custom LOD files:

  • File names ending with "_LOD2" must be used for Medium level of detail
  • File names ending with "_LOD1" must be used for Low level of detail
  • File names ending with "_LOD0" must be used for Lowest level of detail
  • File names ending with "_PHYS" must be used for the model's physics shape

This is garbage...utter nonsense.

This is the actual truth

The mesh uploader preferably uses strict naming rules for meshes within LOD files.

A separate DAE file must be used for each set of LODs

For a model composed of three High LOD meshes named MyTable, MyChair, My Vase. We might have a DAE file called MyTableChairSet.dae

The Medium LOD file is ideally called MyTableChariSet_LOD2.dae. and if so it will automatically be detected when the High LOD file is selected for upload. It can be named anything you like, if you do not care about the auto detection. 

The mesh models within the Medium LOD DAE file should be named identically to the High LOD meshes but with a _LOD2 suffix. Thus MyTable_LOD2, MyChar_LOD2, MyVase_LOD2.

The same applies for each LOD with _LOD1 for LOW and _LOD0 for Lowest. therefore

file: MyTableChairSet_LOD1 MyTable_LOD1, MyChar_LOD1, MyVase_LOD1

file: MyTableChairSet_LOD0 MyTable_LOD0, MyChar_LOD0, MyVase_LOD0

This extends to the Physics where _PHYS can be used

file: MyTableChairSet_PHYS MyTable_PHYS, MyChar_PHYS, MyVase_PHYS

To re-iterate, because of the confused nonsense perpetuated by out of date, misinformation in the "official documentation". The file name is entirely your choice, it is only in the last 18 months or so that we have auto detected the LOD suffix on the file names. The object naming is also "choice" BUT if you do not then the viewer quite literally tries to guess based on order. If you do use the correct naming convention (for the meshes) - Blender users in particular please note, the meshes NOT the objects have to have this name. so if you rename the Cube.001 object to be MyMonkeyHead, that is not enough, you need to change the underlying mesh name to be MyMonkeyHead. - the when the viewer process the LOD files it will find MyTable in the High LOD and search for MyTable_LOD2, MyTable_LOD1, MyTable_LOD0 and MyTable_PHYS in turn and correctly associate them 100% accurately, no guesssing. 

If you enable verbose logging in the new log tab, you will see streams of this info swirling past as it tries to find the right matches.

The thing that trips most people up is the "deep rename" need when exporting from the 3d app. I definitely applies to Blender not so sure about other apps as I do not use those.. 

  • Like 3
Link to comment
Share on other sites

1 hour ago, Ardy Lay said:

@Linden Lab User retention tip:  Take "Our source code is our documentation" out of your business plan and very publicly exterminate it.

I have a friend who was the CTO of a large international IT company.  He said 'a program without user and maintenance documentation isn't'.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 937 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...