Jump to content

More Mesh uploader improvements coming soon to Firestorm


Beq Janus
 Share

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

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

Recommended Posts

I just posted a quick summary of a few features for builders/creators that are currently going through the QA process in hope that they'll land in the next release of FS. 

The blog post can be read here http://beqsother.blogspot.com/2021/06/summarising-next-improvements-to.html

The very brief summary is :-

1) You can now upload proper subsets of texture faces in your LODs without silly errors or wasting valuable triangles on placeholders

2) The error reporting of mismatched materials should be more accurately tied to the real cause of the failure.

3) Two new default physics shapes can be selected from the drop down on the physics tab, and a third "user defined entry" can be specified if you really need one.

4) You can now change the ambient lighting in the preview window and actually see things in the shadows!

As always the release date is "soon", but honestly it should be sooner rather than later our hardworking QA group are hammering at it as I type.

  • Like 5
  • Thanks 4
Link to comment
Share on other sites

On 6/21/2021 at 2:14 AM, Beq Janus said:

I just posted a quick summary of a few features for builders/creators that are currently going through the QA process in hope that they'll land in the next release of FS. 

The blog post can be read here http://beqsother.blogspot.com/2021/06/summarising-next-improvements-to.html

The very brief summary is :-

1) You can now upload proper subsets of texture faces in your LODs without silly errors or wasting valuable triangles on placeholders

2) The error reporting of mismatched materials should be more accurately tied to the real cause of the failure.

3) Two new default physics shapes can be selected from the drop down on the physics tab, and a third "user defined entry" can be specified if you really need one.

4) You can now change the ambient lighting in the preview window and actually see things in the shadows!

As always the release date is "soon", but honestly it should be sooner rather than later our hardworking QA group are hammering at it as I type.

That's good to hear! Finally a seemingly obvious behavior that wasn't so obvious to the initial developer comes around. Love the way you wrote both your blog posts!

Maybe in 10 years from now we'll get the Lab to finally introduce morphtargets in a new asset type that isn't a hack of a preexisting asset definition 🤣

  • Like 1
Link to comment
Share on other sites

On 6/21/2021 at 1:14 AM, Beq Janus said:

3) Two new default physics shapes can be selected from the drop down on the physics tab, and a third "user defined entry" can be specified if you really need one.

You have no idea how many 'cube.dae' files are on my computer that have been exported in each project for just this purpose :))

  • Haha 1
Link to comment
Share on other sites

1 hour ago, Extrude Ragu said:

You have no idea how many 'cube.dae' files are on my computer that have been exported in each project for just this purpose :))

Ummm, you never needed more than one you know. ;)

Still, this is really good news. :)

  • Like 1
Link to comment
Share on other sites

9 minutes ago, ChinRey said:

Ummm, you never needed more than one you know. ;)

You underestimate my laziness. I am too lazy to browse around for the file every time. I added a button to my blender interface to export cube.dae to the current .blend location, so I don't have to dig around in folders after I find the model itself :)

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 6/21/2021 at 2:14 AM, Beq Janus said:

I just posted a quick summary of a few features for builders/creators that are currently going through the QA process in hope that they'll land in the next release of FS. 

The blog post can be read here http://beqsother.blogspot.com/2021/06/summarising-next-improvements-to.html

The very brief summary is :-

1) You can now upload proper subsets of texture faces in your LODs without silly errors or wasting valuable triangles on placeholders

2) The error reporting of mismatched materials should be more accurately tied to the real cause of the failure.

3) Two new default physics shapes can be selected from the drop down on the physics tab, and a third "user defined entry" can be specified if you really need one.

4) You can now change the ambient lighting in the preview window and actually see things in the shadows!

As always the release date is "soon", but honestly it should be sooner rather than later our hardworking QA group are hammering at it as I type.

What does point 1 mean in practice?

Link to comment
Share on other sites

16 hours ago, Naiman Broome said:

What does point 1 mean in practice?

That means that you don't have to keep at least one triangle for each material that is on the High LOD model, throughout all other LODs as well.

  • Like 1
Link to comment
Share on other sites

18 hours ago, Naiman Broome said:

What does point 1 mean in practice?

I think*, and I'm basing this more on my experiences with the train simulators, there was previously a condition that lower LoD models had to use all the textures that the highest LoD model used, you couldn't have a simplified model for lowest LoD with a simplified (differentt)  texture. I've never been quite sure how SL managed this condition, but it seems from Beq's post that you no longer have to have all the textures that are on the highest LoD model on all the lower LoD ones as well, you can just have parts of them.

* But I'm sure I'll be corrected on this assumption soon enough :)

  • Like 1
Link to comment
Share on other sites

2 hours ago, Profaitchikenz Haiku said:

I've never been quite sure how SL managed this condition,

Each face of a multiface mesh is actually treated by the software as a separate mesh (or "submesh" if you like) and the software can't handle mesh files with no geometry at all. Or at least it isn't suppsoed to be able to. I'm seriously impressed and surprised Beq and the other Fs developers have managed to find a way around that limitations.

  • Like 1
Link to comment
Share on other sites

On 7/10/2021 at 10:59 PM, ChinRey said:

Each face of a multiface mesh is actually treated by the software as a separate mesh (or "submesh" if you like) and the software can't handle mesh files with no geometry at all. Or at least it isn't suppsoed to be able to. I'm seriously impressed and surprised Beq and the other Fs developers have managed to find a way around that limitations.

Forcing users to jump through hoops in order to satisfy a special condition of the mesh format is lame, lazy and unprofessional, though I doubt it was ever intentionally left that way. Sadly, however, it has been that way for as long as we've been making meshes, and, as it turns out, unnecessarily so.

Ironically, the mechanism to fix this has also existed since Mesh day 1 but was buried deep in some horribly convoluted code. When GLOD is used to auto LOD it can remove an entire face, to deal with this the uploader creates an empty triangle and at the point of upload this gets translated into a special "NoGeometry" marker. The "NoGeometry" marker is also respected when the mesh is decoded later. There were a number of bugs layered on top of each other that stopped this being used for user supplied LOD models. I rewrote the parser section that was at the heart of this tangle of knots and was then able to reconstruct it so that use LODs also support the "NoGeometry" marker. The result is perfectly valid meshes that do not have to waste very valuable (and expensive) triangles in the lower LODs and hopefully, less confusion for new creators.

 

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

3 hours ago, Beq Janus said:

reconstruct it so that use LODs also support the "NoGeometry" marker. The result is perfectly valid meshes that do not have to waste very valuable (and expensive) triangles in the lower LODs and hopefully, less confusion for new creators.

 

I hadn't realized from the original post what you had meant. So what you're saying is, say I've got a high detail model with 2 materials (or 'texture faces' as they're known in sl). My medium LOD could just have 1 material?

Can we put materials (texture faces) in medium/low/lowest lod that aren't in highest LOD? eg. Imagine zooming out on a cube and as it goes through the LODS the textures change because different material assignments per LOD?

Does this No Geometry marker allow for there not to be any triangles rendered at all? eg. The model simply disappears, there's no need to have a placeholder triangle at all any more?

 

Link to comment
Share on other sites

6 hours ago, Extrude Ragu said:

Can we put materials (texture faces) in medium/low/lowest lod that aren't in highest LOD?

That would be great. Unfortunately that is not the case. Beq has fleshed out the details in her blog post, which is linked in the opening post.

  • Like 1
Link to comment
Share on other sites

19 hours ago, Extrude Ragu said:

Does this No Geometry marker allow for there not to be any triangles rendered at all? eg. The model simply disappears, there's no need to have a placeholder triangle at all any more?

Technically yes, but that would be extremely poor practice in most circumstances (and to be honest I have not tried that extreme case). The typical use case is impostering where you flatten an object for the lowest LOD (or others when applicable) and the big advantage is that we no longer have to have a placeholder triangle hidden away.

https://gyazo.com/88703cd123c6aa239a65953a82c8f029

This clip shows an adjustable monkey wrench that falls back to a flat imposter (it is actually adjustable hence the two sets of planes)

On 7/15/2021 at 3:25 PM, Extrude Ragu said:

Can we put materials (texture faces) in medium/low/lowest lod that aren't in highest LOD? eg. Imagine zooming out on a cube and as it goes through the LODS the textures change because different material assignments per LOD?

As @arton Rotarusaid, no, the HIGH LOD must hold the super set of all textures. You can do your zooming out trick with the cube though, use a single material on the high lod  mesh and another on the medium  and another on the low etc.

 

  • Like 1
Link to comment
Share on other sites

28 minutes ago, Beq Janus said:

Technically yes, but that would be extremely poor practice in most circumstances

Hmm I tried this in the uploader on the new preview build of Firestorm, but it causes the triangles field to go to N/A and a red X.

In my circumstance I have an unusual model I'd like to fall back to 0 tri's, which is a grass/fur layer using the old fashioned shells and fins approach. All of the layers have the same normals as the mesh object underneath, so there is no 'pop-in' if they were to completely disappear when zooming out, however there is pop-in currently, when there is a placeholder triangle, because the placeholder triangle gets stretched out to fill the bounding box. I appreciate this is an edge case :)

 

Link to comment
Share on other sites

Example Colladas in case you want to reproduce btw

image.png.03f319a0b12e3ae8ea9861324459b387.png

 

5_materials.dae goes in High, it's a multi-shell grass fur layer for putting around my floating island.

empty_5.dae is an empty collada file with no triangles, but all 5 materials.

As you can see, the UI goes a bit funny, it shows 'Ship it' but the triangles show N/A even on high, the calculate weights and fees gets greyed out.

Link to comment
Share on other sites

4 hours ago, Extrude Ragu said:

completely disappear when zooming out

How about a single tirangle with zero face area? That is a triangle where 2 vertices share the exact same position coordinates, so that there are only edges left which are invisible when rendered.  I use this to offset pivot points, or with tiny objects to reach the 1cm scale requirement. With Beq's viewer you would need just one.

Edited by arton Rotaru
Link to comment
Share on other sites

1 minute ago, arton Rotaru said:

How about a single tirangle with zero face area? That is a triangle where 2 vertices share the exact same position coorodinates, so that there is only edges left which are invisible when rendered.  I use this to offset pivot points, or with tiny objects to reach the 1cm scale requirement. With Beq's viewer you would need just one.

I thought that wasn't possible because of the minimum triangle size, but will try

Link to comment
Share on other sites

1 minute ago, Extrude Ragu said:

I thought that wasn't possible because of the minimum triangle size, but will try

That is true for the physics mesh. If you load that as the phys mesh, the importer will throw an error.

  • Like 1
Link to comment
Share on other sites

@Beq Janus

You know the 'Restore to Last Position' context menu option in the inventory window - Theoretically would it be possible to have the viewer put co-ordinates and rotation here at upload time? It'd be useful for large builds such as mine where I have a giant blend file of the whole sim and all its little bits, to be able to restore the objects position/rotation in a more automated way. Not sure if collada file acually stores the pos/rot of the exported object?

Link to comment
Share on other sites

7 hours ago, Extrude Ragu said:

@Beq Janus

You know the 'Restore to Last Position' context menu option in the inventory window - Theoretically would it be possible to have the viewer put co-ordinates and rotation here at upload time? It'd be useful for large builds such as mine where I have a giant blend file of the whole sim and all its little bits, to be able to restore the objects position/rotation in a more automated way. Not sure if collada file acually stores the pos/rot of the exported object?

That is a function you can achieve exporting the coordinates from your software as lists and have a script inworld to reposition the objects to their relative location on the region. I did that in one of my plug ins for Maya, so it's doable.

Link to comment
Share on other sites

I have a similar system where the linkset word position and rotation are stored in the description field by a script. When rezzed, a similar script reads the description field and if the position an rotation are valid, repositions the linkset. The rotations are stored as degrees, so you can examine an object in your inventory and see where it is going to go in world.

I have a feeling I posted the two scripts in the script library sub-forum, but I can't quite remember what name I used.

 

ETA https://community.secondlife.com/forums/topic/437023-store-and-restore-rezzed-linkset-positions/

Edited by Profaitchikenz Haiku
  • Like 1
Link to comment
Share on other sites

4 hours ago, Anna Nova said:

Will these improvements make it to the Linux version?

P.S. I know about Havoc, so I usually use the wonkydoos version under Wine for uploads anyway.

Yes, these apply across platforms. 

I've also fixed the block that prevents the OpenSim/non-havok build from using Analyze. It will now correctly allow the non-Havok hull decomposition which, while not as good as the Havok one, is useful to have.

Link to comment
Share on other sites

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...