Jump to content

Uploading a linkset - how does order work, or is that broken?


animats
 Share

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

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

Recommended Posts

OK. How do I upload a linkset from Blender 2.79 using Firestorm 6.02 on Windows 7 and get the desired link order in Second Life?

Looking around, I see bug reports, claims the bugs are fixed, and claims that the bugs aren't fixed despite what the Blender developers say.

That's from 2016. What's the current situation?

exportopts.thumb.png.8a3ade47091858793b30d6afb15924af.png

COLLADA export options

The claim is that "Sort by object name" makes objects export in alphabetical order. But I've changed names to change the order and re-exported, and not had the link order change.

 

Edited by animats
Link to comment
Share on other sites

it doesn't answer your question, but a somewhat tedious manual workaround does exist.

Prior to export:

  1. Snap the origin of each piece to its COG by selecting all vertices in edit mode, snapping the 3d cursor to selected and then in object mode transforming the origin to the cursor. (you can also try directly transforming "origin to geometry" but I've found the two step process is a bit more reliable for getting the blender object origin exactly where SL will put it)
  2. Move the entire set so that the origin of the piece you want as the root is at blender coordinates 0,0,0.
  3. Note the positions of each non-root component of the linkset.

These positions will form the offsets from the roots position for each part inworld. You'll have applied rotation and scale immediately before exporting so you will be working with zero local rotation on everything when reassembling it inworld

Inworld:

  1. Upload them separately and rez the pieces inworld - you dont have to get them together in the right places, just close enough to link.
  2. Link them together in the order you want them, adding one at a time until they are all linked.
  3. Drop a script in your root mesh that performs a llSetLinkPrimitiveParams call to apply [PRIM_POS_LOCAL,<offset noted in blender>,PRIM_ROT_LOCAL, ZERO_ROTATION] to each child mesh

Your object should now be reassembled in exactly the same relative places you saw it in blender with the links in the order you specified when linking them.

Link to comment
Share on other sites

7 hours ago, animats said:

OK. How do I upload a linkset from Blender 2.79 using Firestorm 6.02 on Windows 7 and get the desired link order in Second Life?

Looking around, I see bug reports, claims the bugs are fixed, and claims that the bugs aren't fixed despite what the Blender developers say.

That's from 2016. What's the current situation?

exportopts.thumb.png.8a3ade47091858793b30d6afb15924af.png

COLLADA export options

The claim is that "Sort by object name" makes objects export in alphabetical order. But I've changed names to change the order and re-exported, and not had the link order change.

 

I have done this fairly often and even made a tutorial on it, but yesterday on the beta grid it was NOT working. I uploaded them separately. For me, even with the previously correct method, it only put the physics model on one of the two pieces (in this case it was the one named closest to the beginning of the alphabet (not sure it that is important). 

So as far as "I" know, it is no longer working. 

Link to comment
Share on other sites

1 hour ago, Chic Aeon said:

I have done this fairly often and even made a tutorial on it, but yesterday on the beta grid it was NOT working.

It's not working right on the beta grid today. I uploaded the same .DAE files three times and got different link orders.

Beq Janus, who's been working on the uploader in Firestorm, told me that there's a problem, and it's apparently upstream from her code. Apparently nobody does this much.

Link to comment
Share on other sites

Notes:

  • In Firestorm 6.0.2 "Firestorm.log", during an upload, "WARNING #ColladaDom#  llprimitive/lldaeloader.cpp(92) FSdaeErrorHandler::handleWarning : The DOM was unable to create an attribute xmlns:xsi = http://www.w3.org/2001/XMLSchema-instance at line 11.
    Probably a schema violation." WTF?
  • The "_LOD2", etc. naming convention: This is apparently supposed to be for "Objects" in Collada files. "The viewer uses Name Based Matching to match objects from different LODs in the imported model files. The viewer looks for objects in your Mesh files ending with _LOD2, _LOD1, _LOD0, or _PHYS, and tries to match those object to Medium LOD, Low LOD, Lowest LOD and Physics respectively. If an object doesn't end in one of those, it will be considered for the High LOD. If the viewer cannot match the LODs this way it will resort to the old method of matching which is to rely on the order of the objects in the Mesh files." That's from this Linden Lab QA documentation, which may be a work of fiction.
  • Looking in the Firestorm log, the names Firestorm's uploader uses for objects internally come from the name of the "Mesh" in the Blender sense (black and white inverted triangle in the hierarchy), not the name of the blender "Object" (orange inverted triangle in the hierarchy). Those seem to be the names that need the "_LODx" suffix.
  • The Firestorm log has useful info for the infamous "Material of model is not a subset of reference" errors: 
    isMaterialListSubset : Could not find material Step_top_matl-material in reference model Escalator_mesh
    matchMaterialOrder : Material of model is not a subset of reference.

    This would be much more useful if it was, like, shown to the user.

  • Other good stuff in the Firestorm log:

Importing Escalatorbodymesh_LOD2 model with 7 material references
Escalatorbodymesh_LOD2 references Exterior-material
Escalatorbodymesh_LOD2 references Footplates-material
Escalatorbodymesh_LOD2 references glass-material
Escalatorbodymesh_LOD2 references HandRail_000-material
Escalatorbodymesh_LOD2 references Path_lights-material
Escalatorbodymesh_LOD2 references Step_side_matl-material
Escalatorbodymesh_LOD2 references Step_top_matl-material

Importing Escalatorpartmesh_LOD2 model with 1 material references
Escalatorpartmesh_LOD2 references Step_top_matl-material
  • The uploader knows what it's uploading, which materials go with which meshes, and what's missing when it's unhappy. It even logs that info. It just won't tell the user. The pain for the user is designed in. Muahahaha!

 

Edited by animats
Bogus link
Link to comment
Share on other sites

  • 2 weeks later...

More notes:

I uploaded something with 2 links on the beta grid. Worked fine.

Uploaded the same files on the main grid. Order of links was reversed. Worse, scale was for some reason slightly off. Seriously annoying, because it's an escalator which had to fit a specific building space, it didn't fit, and the customer was unhappy.

Uploaded the same file on the main grid again. Worked correctly, including being a slightly different size.

I used Firestorm, and right now I don't know whether to send the bug report to LL or FS.

Link to comment
Share on other sites

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