Jump to content

Problem with linked mesh not working properly with custom LODs. (Material of model is not a subset of reference material)


elainewatson
 Share

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

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

Recommended Posts

Firstly I'd like to state that I've been uploading mesh for years and have many years experience with making mesh and custom LODs.

 

My problem is this.. I recently switched from 3DS Max to Blender and the method that worked in 3DS Max doesn't work in Blender. Say I have an arch and, in the middle of that arch on the ground, I have a cube for my anchor point (I work a lot with modular building.) When I import that arch and cube into the upload system it's fine.. But then when I try to add my custom LOD it says "Material of model is not a subset of reference material." I've triple checked to make sure that the LOD and the model are both using the same materials and same number of materials. When I upload them WITHOUT the linked parts - it works just fine. It's only when I introduce linked parts to the LOD that it refuses to work.

 

Now one would assume that LODs don't need, or can't even USE linked parts but when I try to upload it without a linked part it either tells me that the LOD is the same number of triangles as the main mesh or it just says "N/A."

 

I know all about the naming systems and such and I've tried everything to work it out but it just doesn't want to know.

 

So, in summary:

What is the process to upload mesh that has linked parts, with custom LODs, from Blender to Second Life? Should the LODs have no linked parts to them? Upon reflection that would make sense but then I have the issue where it seems to get confused by the different number of mesh models. The main model having two yet the LOD having only the one.

 

As I said - in 3DS Max this wasn't an issue as I've made a lot of modular things that implemented this technique but there must be something I'm missing in Blender.

 

Thanks!

Link to comment
Share on other sites

Hi, welcome to the forums. 🙂

5 hours ago, elainewatson said:

I know all about the naming systems and such and I've tried everything to work it out but it just doesn't want to know.

Perhaps it would help if you could share an example .blend file so that someone can check it out and try a test upload.

Blender file sharing site https://pasteall.org/blend/

Edited by Aquila Kytori
Link to comment
Share on other sites

I and others have recently had trouble importing when there were any parent/child relationships in our objects. (In my case, the mesh was the child of an Empty in Blender. In someone else's, it was the child of an armature that they were importing as UNrigged because they just wanted to see how it looked.)

I remember reading somewhere that you need custom LOD and Physics meshes if you're uploading a multi-object linkset, and they have to be named appropriately or the uploader will error out. I admit I've never tested it out myself.

 

Link to comment
Share on other sites

6 hours ago, Quarrel Kukulcan said:

I and others have recently had trouble importing when there were any parent/child relationships in our objects. (In my case, the mesh was the child of an Empty in Blender. In someone else's, it was the child of an armature that they were importing as UNrigged because they just wanted to see how it looked.)

I remember reading somewhere that you need custom LOD and Physics meshes if you're uploading a multi-object linkset, and they have to be named appropriately or the uploader will error out. I admit I've never tested it out myself.

 

I've already made custom LOD and physics models as I do that for all of my work - I rather enjoy it as it's my way of trying to beat/outdo the initial Li estimate. 

The problem is that I don't think the LODs know what to do with the linked objects as, more often than not, it'll just use the parent where-as the model itself can differentiate between the two.

 

18 hours ago, Aquila Kytori said:

Hi, welcome to the forums. 🙂

Perhaps it would help if you could share an example .blend file so that someone can check it out and try a test upload.

Blender file sharing site https://pasteall.org/blend/

I've even tried it with a simple cube. I made one cube and made it the child to another. Then I made the LOD for that cube. The problem is that the LOD, in the SL engine, only recognises the parent and ignores the child. It seems incapable of accepting that there are supposed to be two objects. I think it's because you're unable to actually change the way the LOD looks in the engine itself so it HAS to upload a singular model.

The problem there is that the main model needs to be a parent and child - a link-set but LODs don't seem to work that way. As I said I work in a modular way for the things that I create so I suppose I'll just have to manually position things without the pinpoint accuracy... I like to work with precision when making things like this. Don't even get me started on how this would work for animated parts.

It works if I use the "generate" method but I don't like to use that. When I use my custom LOD it just chooses the parent by default. I've done research on it and tried different things but nothing works. Naming things _LOD2, _LOD1, _LOD0, etc. Nothing seems to work because then, all of a sudden, the LOD system gets confused between the second object and the actual LOD itself.

I guess I'll just have to do it the old fashioned way.

Link to comment
Share on other sites

On 4/18/2021 at 6:14 AM, elainewatson said:

It's only when I introduce linked parts to the LOD that it refuses to work.

Uploading linked parts is an absolute disaster in the uploader. The link number is random. Really random. Different from upload to upload of the same .DAE file. I looked at the uploader code once. Links are sorted by internal pointer address, so the current state of memory allocation affects the link order on upload.

There isn't link order info in the .dae file. Sorting the links alphabetically is possible, allowing some control.

There's a lot that could be done to improve uploading if a viewer left behind some of the LL limitations. The limitation that all materials and face numbers must appear in all LODs could be overcome. The sim side limit is that you can't have more than 8 materials per object over all LODs. The file format allows missing faces and materials at each LOD, but the uploader is more restrictive than it needs to be. (You can test this by creating an object with, say, 8 materials, and then letting the built-in mesh reducer reduce it down to four triangles for the lowest LOD. You now have a model with "No geometry" entries in some of the 8 face slots.)

A TPV viewer that did that would differ from LL viewer semantics, of course, and LL doesn't like that.

  • Like 2
Link to comment
Share on other sites

1 hour ago, animats said:

There's a lot that could be done to improve uploading if a viewer left behind some of the LL limitations. The limitation that all materials and face numbers must appear in all LODs could be overcome. The sim side limit is that you can't have more than 8 materials per object over all LODs. The file format allows missing faces and materials at each LOD, but the uploader is more restrictive than it needs to be. (You can test this by creating an object with, say, 8 materials, and then letting the built-in mesh reducer reduce it down to four triangles for the lowest LOD. You now have a model with "No geometry" entries in some of the 8 face slots.)

A TPV viewer that did that would differ from LL viewer semantics, of course, and LL doesn't like that.

I'm not seeing this. I made a subdivided plane (with enough geometry so that the lod generator can do some decimating) with 8 different materials in Blender and the lowest the reducer goes to is 8 triangles. Using the latest Firestorm.

 

8-materials-reducer-test.jpg

Link to comment
Share on other sites

***EDIT***

Okay it seems that, whilst it's not a bad idea to use the below option, it's best to open your mesh THEN add the physics THEN the LOD...

 

Okay I've worked out what the problem is. Here's a screenshot of a simple cube and the naming system that I used:

Naming system.

The problem lies in this part of the exporter:

Export Option.

 

It turns out that you have to disable "Sort Object Name" in the exporter - under 'EXTRA.' Otherwise it messes things up, including the use of a naming system. It just causes confusion in the .DAE file.

 

Works great now!

 

Edited by elainewatson
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Candide LeMay said:

I'm not seeing this. I made a subdivided plane (with enough geometry so that the lod generator can do some decimating) with 8 different materials in Blender and the lowest the reducer goes to is 8 triangles. Using the latest Firestorm.

I'll have to try. Beq Janus has been working on the Firestorm decimator and she may have fixed some of the situations in which the output disappears.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1075 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...