Jump to content

Model Building


IvyTechEngineer
 Share

Recommended Posts

Hello, I have bought some wonderful models in the Second Life Marketplace but now want to build my own models that can be used for our engineering classes. I am just getting started and have created many CAD models using Solidworks and have used Blender to reduce mech count and convert into DAE files. However, my models still have larger than desired Land Impact count. Any suggestions?

Thanks IvyEngineer

  • Like 1
Link to comment
Share on other sites

Have you made physics models for the buildings?  That is very important in SL -- unless of course you don't want the buildings to be walkthrough and they are just for looks.   

 

Here is a video that explains. It is older though so the interface won't match if you are using 2.8.  The ideas are all still valid. 

 

You also need to clean up your file most likely and optimize it for SL before exporting as a DAE. Most folks skip that part :D and it is important.  

 

The other thing may be that you have your lowest LOD set "too high" (that is a relative term and a matter of judgement).  If you want to paste in some screenshots, then folks can help you better.  

 

 

Edited by Chic Aeon
Link to comment
Share on other sites

When importing into SL, amongst other things, the mesh uploader calculates 3 values :

 

  from the Second Life Knowledge Base 

https://community.secondlife.com/knowledgebase/english/calculating-land-impact-r273/

  • Download weight: Calculated by determining how much bandwidth is required to download and view the object. The  You can reduce the download weight of complex objects by generating or uploading less complex meshes for differing levels of detail when you upload a model.
  • Physics weight: Calculated by determining the complexity of the object's physics model. You can reduce the complexity of a mesh's physics model by using the analysis and simplification tools in the Upload Model window, by uploading your own less-detailed physics model, or by choosing a different physics shape type, such as Convex Hull, on the Features tab of the Build Tools window. Vehicles must have a physics weight of 32 or lower, but may have higher download or server weights.
  • Server weight: Measures the impact an object has on Second Life's server resources. Objects that are composed of many prims and have physics enabled and/or contain scripts tend to have high server weights.

 

Which ever of these three values is the highest will become the final Land Impact cost.

Server cost is always 0.5 .

Physics cost should almost always be lower than the Download cost. If it isn't then your physics model is too complicated. To eliminate this value for the moment, create a triangle object in Blender and export it as a .dae file. Then in Step 1 of the Physics panel  of the mesh uploader, load up this triangle for physics. If you do need accurate collision surfaces for your model we can discuss that another time,  :)

Now that Server and Physics costs have been taken out of the equation that only leaves the Download value to effect the final LI cost.

 

The more complex the model (number of tris and vertices) and the larger the model is the higher will be the Download weight.

First work on optimizing to reduce the tri/vertex count to a minimum. You haven't shown an example of the type of model that you are importing into Blender so its difficult to advise more than say remove vertices that are not contributing to the shape of the model and things like cylinders rarely need 32 vertices in circumference. (often 6 vertices are enough for tubes and pipes, I have even seen 4 used on the drainpipes of  buildings where the texturing is doing most of the work).

Next is to do a test upload and play around with the Level of Detail sliders.

By default the lower Level of Detail models are generated automatically but we have the possibility to  1: Upload our own LoD model for each slot  and 2: play around with the sliders  to see how reducing the triangle/vertex count for each of the lower LoD slots effects the LI / Download cost.

For very large models it will be the High or Medium LoD values that have most effect on the LI cost. For smaller models it will be the Low and or Lowest LoD model(s).

 

In the example below, a little engine for an air plane,  the models size is (Bounding Box dimensions) approximately 0.9 x 0.7 x 0.8m. (a small object).

The default auto Generated triangle/vertices counts for the lower LoD slots give a Download cost of approx. 10.5 :

1.thumb.png.b5686dedf26742e6862112b71eb03840.png

 

For this particular model I have already decided that I would like the final LI cost to be around 2 or 3 and after a little experimentation, changing the values of each of the lower LoD slots I find that, as expected, the Medium LoD has no effect on the download cost (in fact it can be raised to be the same as the High LoD model) it is the Lowest LoD that has the most effect on reducing the final LI cost. The Low LoD tri count can be raised a little.

2.thumb.png.a286168bd1514f16ec9789d13a17e336.png

 

Noting down the modified triangle count for each of the lower LoDs I can now go back to Blender and create my own lower LoD models.  I don't have to do a lot for the Medium model but need to pay attention to the other two.

23 triangles is not a lot to work with for the Lowest LoD but as the engine will be partially hidden by the rest of the air plane it should be doable. If not I can use a few more still come in with a final LI of 3.

 

Note that if your model is going to have a texture applied to it  inworld  then is a very good idea to have your High LoD model UV unwrapped and have a some sort of texture applied to it in Blender (for example a UV squares texture) so that you can see how the texture is being effected as you reduce your High LoD model to lower LoD models.

 

Vertices on hard edges (flat shading) and vertices on UV island borders are counted twice by the SL mesh uploader and so increase complexity which in turn can increase the Download cost a little.

For example compare the vertex count on two cubes, one with smooth shading and the other with flat shading:

3.thumb.png.20e20496dd9605bef0b691a414db44f4.png

4.thumb.png.b657352ba3c41ccc71dc2edd45425196.png

 

As Chic has already suggested its always a good idea to add relevant screenshots to these types of questions. :)

 

Edited by Aquila Kytori
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Hello, and thanks for the info. I watch the video and it was very helpful. To begin with I while ago I create a model in my CAD program of a BCC crystal unit cell. This model was then saved as an STL - BBC Crystal.stl (5390 triangles) and a physics simple cube was also create BCC Crystal box.stl (12 triangles). When I attempted to upload this model to Second Life I got this info:

upload fee 22
Land Impact 268.325
Physics = 0.360
Server = 0.500

I was able to go decimate the model to reduce the poly count to 1345 and the upload count went to 13 and land impact went to 96 but I am not sure what else to try ...

image.thumb.png.8414c6f71c9ea5eb161293a2a366db6c.png

Link to comment
Share on other sites

To get a download cost of 90 using a similar object to yours  ( proximately 2000 triangles ), the model had to be 40 x 40 x 40m !

40x40x40.thumb.png.7eee75ee6d5264fe133cb392aaa765ac.png

 

Screenshot_1.thumb.png.32a700db5353429e1de4d5936461a36c.png

 

If your model is not this size then something else is going on.

Can you upload your .blend file to this Blender file sharing site so that we can check it out and do our own test uploads?

https://pasteall.org/blend/

 

For reference: When dimensions set to 1 x 1 x 1m,  the mesh set to Smooth Shading,  UV's zeroed and using default upload settings the result is :

Screenshot_3.thumb.png.d7075decf8b319d1da1f5994bc4f35cd.png

 

Edited by Aquila Kytori
  • Like 2
Link to comment
Share on other sites

Thank you, my scaling was way off. When I adjusted the scaling I was able to greatly reduce the Land Impact. Not sure where the dimensions got mixed up since the original CAD drawing was 2.27 inches. I wondered if the size of the physical size of the model would impact the Land Impact and that makes sense now. The actual dimension were 57.74 x 57.74 x 57.74 meters! Thank you, this is a big (little) help, lol

Link to comment
Share on other sites

1 hour ago, IvyTechEngineer said:

Not sure where the dimensions got mixed up since the original CAD drawing was 2.27 inches.

This has happened before : https://www.simscale.com/blog/2017/12/nasa-mars-climate-orbiter-metric/

"In September of 1999, after almost 10 months of travel to Mars, the Mars Climate Orbiter burned and broke into pieces. On a day when NASA engineers were expecting to celebrate, the ground reality turned out to be completely different, all because someone failed to use the right units, i.e., the metric units!"

Blender by default uses metric units.

 

Have you tried setting your BCC crystal model to use Smooth shading? This may improve the look when rezzed inworld and will also reduce further the download cost.

In Blender Object mode with model selected:

Open the Object menu and choose the Shade Smooth option.

1360235834_Shadesmooth.gif.40aca47a03800922aea5b4f45c75c9b4.gif

Edited by Aquila Kytori
  • Like 1
Link to comment
Share on other sites

8 hours ago, Aquila Kytori said:

Have you tried setting your BCC crystal model to use Smooth shading? This may improve the look when rezzed inworld and will also reduce further the download cost.

That's always a good reminder but I assumed the OP wanted a faceted surface here?

If not, the answer is very simple: Forget about mesh and make it from nine prims at 5 LI.

Edited by ChinRey
Link to comment
Share on other sites

1 hour ago, Aquila Kytori said:

Google turned up many BCC crystal models and not one was faceted (accept the one provided by IvyTech.)

Yes, I checked that too but didn't think of it until after I read your post about smooth normals. Well spotted! :)

So, this is how you do it then:

bilde.png.f8ca8fc02f119553b7265fec3193638f.png

Nine prim spheres, one unmodified, the others with pathcut set to 0.25 and dimple to 0.5. Physics shape set to convex hull, land impact 5. The actual saving in load is probably even higher than the LI reduction implies and of course, with prims there is no need to worry about LoD, the viewer sorts that out for you.

Unless you actually want faceted surfaces, there is nothing whatsoever to gain and a lot to loose making this particular model with mesh instead so please, don't do mesh for mesh' sake!

That being said, it's still a good exercise for learning how to handle curved mesh surfaces so here are a two basic tips Chic and Aquila haven't covered.

The first one is decide the curve resolution (that is the number of vertices around a full circle) right at the start. It's very difficult to retopo a smooth regular curved surface later and there's a lot to gain if you can keep the curve resolution to a minimum. I'm only using a single sphere for this illustration. Curve resolutions are (left to right) 12, 16, 20, 24, 32 and 48. The top row have smooth normals, the bottom row flat ones. Tri counts are 120, 224, 360, 528, 960 and 2208:

bilde.thumb.png.768c315df6b2d940a399708ff3a1fa42.png

  • Note how important smooth normals are. Even the 20 res 360 tri smooth sphere looks considerably better than the 48 res 2208 tri flat one.
  • Also note how much even a very small reduction in curve resolution can reduce the tri count considerably. 20 res: 360 tris, 24 res: 528 tris. That's a 32% reduction!
  • Size is important when deciding the curve resolution. Large (like the one in this case) and small objects generally need lower resolution than mid sized ones.
  • The angles caused by lower curve resolution is much less noticeable on a well textured object in an environment than they are on a sterile grid in Blender so you can always reduce a little bit more than you think.

The second tip is that you can usually save quite a few tris by reducing the curve resolution towards the poles. Here's the 20 res sphere with every other vertice removed around the top and bottom edge loops:

bilde.png.0ade34f94e385e234f1e23ea55fd9b00.png

320 tris - that's an 11% saving compared to the unmodified one. Here's how they look compared to each other. Can you tell which is which?

bilde.png.97f26f7fa2bfe84cf18ea97f5f81450b.png

In this case can take it one step further and reduce the curve resolution around the two top and two bottom edge loops:

bilde.png.925a52d3ddd312441563edb73b646a78.png

280 tris - I got rid of almost a quarter of them. Again, which is the 360 tri and which s the 280 tri spehere here?

bilde.png.cdb9c8fb32ce7077007b9e256d4bfec6.png

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

Thanks for your help with my BCC model, both of you had great ideas. My goal is to use models that have much more complex shapes that I have already created in SolidWorks and 3D printed many of them. I also find drawing in SL to be awkward and I am new to Blender, I typically watch 3 to 6 videos on Blender per week. Again, thank you for taking the time to help me and I will review your suggestions. Also, I worked in the space industry for 30 years and a senior designer and remember the crash of the Mars Climate Orbiter. lol. 

 

Thanks

  • Like 1
Link to comment
Share on other sites

word of warning, models from CAD software are intented for machining/printing/visualisation.

CAD softwares typically don't care about geometry optimization, so it is something you will have to do to bring those models down to something reasonable for a game-grade environment.

Complex cuts can generate a lot of trash geometry.

Link to comment
Share on other sites

I am sure the mesh models are not optimized but the land impact and cost are now much smaller than when I started. I am a noob to building in SL but have worked on CAD drawings for a while so this is something else to learn. I am sure many CAD users would be interested in importing STL files into SL for visualization. I am also new to Blender. I am interested in learning more about mesh optimization for gaming. 

 

  • Like 1
Link to comment
Share on other sites

6 minutes ago, IvyTechEngineer said:

Next, I need to figure out how to import a model that has a texture already attached to the model vs adding textures in SL. I think this can be done in Blender but I have not figured out how to do that yet.

 Picture1.thumb.jpg.594b3b8a30f13de29c9e7b8455a540a4.jpg

The importer in Second Life doesn't support this. You'll have to upload the mesh and texture separately, then add the texture by hand.

Link to comment
Share on other sites

1 hour ago, Wulfie Reanimator said:

The importer in Second Life doesn't support this.

Actually, the importer in Second Life does support this. The question is, if Blenders collada exporter does support this still. At least it used to work in old Blender versions.

Edited by arton Rotaru
  • Thanks 1
Link to comment
Share on other sites

15 hours ago, arton Rotaru said:

Actually, the importer in Second Life does support this. The question is, if Blenders collada exporter does support this still. At least it used to work in old Blender versions.

Still works

@IvyTechEngineer

909969468_importerimage.thumb.png.ac111344c8fcd9a67ce921b01a6b2b2b.png

 

The image texture is on the object when rezzed and the actual texture is saved at My Inventory > Textures.

 

It is not clear to me what you are trying to do.

   1: Create a 2D image texture of the top surface of your MEMS sensor so that it can be slapped onto the top face of a flattened prim cube. or

   2: Upload a 3D mesh model which uses two materials to illustrate how the electrical circuit is etched onto the top surface of the lower Substrate. 

   see screenshot below: 52821000_imageormesh-min.thumb.png.423e8d32781ba4ee623700cec7690061.png

or ................ ?

 

Edited by Aquila Kytori
Link to comment
Share on other sites

I was trying to use Blender to create a DAE file from the MESH model that included the painted MEMS circuit, but in this case the either version would work. I start with an STL file that is created using a CAD program (Solidworks). Then I import it into Blender to create a DAE file that I could upload into SL. While in Blender I wanted to paint it since the original STL file did not include any texture. Originally I thought that I needed to do something with the Texture Paint in Blender before exporting it to a DAE file. Maybe bake or something else. Currently, I am using Blender 2.90 and the tutorial I have found online seem to talk about features that I cannot find in Blender, i.e. 

 

Link to comment
Share on other sites

I watched the 2.80 hammer tutorial (very good) and only noticed a couple of differences to 2.901.

Look Dev mode is now called Material Preview and the Point light now uses Power in Watts. In the Use Nodes panel leave the Strength at 1 and vary the Power with the Watts value.

The painting tutorial was using 2.75 ! so completely different now. look for 2.8 paint tutorials.

Then you will need a baking tutorial :)

 

Playing around with  SL Shininess gives results like this:

1185442618_MEMSinworld-min.thumb.png.27b0a8a0789b11658527f84862bcd41f.png

You can find noise textures with google (good for car paints )

Link to comment
Share on other sites

  • 4 months later...

Hello again, I wanted to build something a little bigger this time. The creation of the physics file seem a bit more challenging. Using Solidworks 2020 and Blender 2.9 I have created a building model. Just experimenting with the Physics tab in SL and I sometimes get a MAV_MAX_HULLS_EXCEEDED and where is the secondlife.log? Oh, I found it and it says: Calculating model data. LLFloaterModelPreview::setModelPhysicsFeeErrorStatus(13107200 : ) Is there a good tutorial on creating physics from the model using the model uploader in SL?

PS not sure if I did it correctly but I uploaded the Blender file that to PastALL.org, it is called hanging building 2a2.blend

https://pasteall.org/media/c/b/cb261859f02f5bab9ca0cdc40f47c9a0.blend

hanging building 2a2.png

Link to comment
Share on other sites

2 hours ago, IvyTechEngineer said:

Hello again, I wanted to build something a little bigger this time. The creation of the physics file seem a bit more challenging. Using Solidworks 2020 and Blender 2.9 I have created a building model. Just experimenting with the Physics tab in SL and I sometimes get a MAV_MAX_HULLS_EXCEEDED and where is the secondlife.log? Oh, I found it and it says: Calculating model data. LLFloaterModelPreview::setModelPhysicsFeeErrorStatus(13107200 : ) Is there a good tutorial on creating physics from the model using the model uploader in SL?

PS not sure if I did it correctly but I uploaded the Blender file that to PastALL.org, it is called hanging building 2a2.blend

https://pasteall.org/media/c/b/cb261859f02f5bab9ca0cdc40f47c9a0.blend

hanging building 2a2.png

When you're making physics shapes for complex objects like this one, it's best you don't try to make the physics shape from that model.

The point of a physics shape is to approximate the collisions of an object as simply as possible.

What I would do (and recommend) is to create a new, separate model from scratch and use as little detail as you can. Here, I made a quick recreation of your model, with multiple floors:
9aa984325d.png

And here's the physics version:
8e12cfee59.png

Many things about the building can be considered unnecessary if there's little to no chance of an avatar trying to walk on it. Note how the hollow cylinder goes all the way from bottom to top, without the extra ridge near the bottom. The floors are flat cubes (or thick planes?), not rounded. The big pyramid-shape serves two purposes: it's a ceiling for the inside, and it approximates the main roof with the four pillars. There are no windows in the physics model, as you're not meant to walk through them. (Doors are a different hurdle, but not very complicated either.) The two big cubes on the sides are not connected to the main building.

With the object scale at about 33x51x64, the physics cost of the building is 2.920, not even 3 LI.

 

Edit: I just realized you linked your Blend file. Oops.

I made a physics shape for the first floor based on your model. It consists of 7 separate hulls (joined as a single object before exporting), with a physics cost of 1.720. This includes the stairs for upper-floor access.

047973b560.png

Here's your blendfile: http://puu.sh/HpNiz/e6c33006cd.blend

Edited by Wulfie Reanimator
  • Like 1
Link to comment
Share on other sites

There are three rules you should comply with when creating a physics model for something like this.

  1. Each visual object has its own physics model. Here you only have one object (at the moment*), so the Physics will also be one object.
  2. The Bounding Box (X, Y and Z) dimensions of the physics model must match the Bounding Box dimensions of the visual model. If different then the SL mesh uploader with stretch or squish it to match. This would result in misaligned collision surfaces.
  3. KEEP IT SIMPLE ! The mesh uploader (Mav) will smile on you if she finds the physics model is mostly composed of large planes/triangles. She will not be happy to find small thin triangles. In general, the larger the average quad/tri size in the physics model the LOWER will be the Physics cost.

When Uploading,  in Step1 of the Physics tab of the mesh uploader,  load up your Physics model. Do not be tempted to touch any of the other Physics options.

When rezzed you will need to open the Edit floater and in the Features tab change the Physics Shape Type from the default Convex Hull to Prim.

BTW just a little warning. You have chosen a very ampt name for your building, because with such a large object comprising of so many triangles (even using  Wulfie's extremely simplified physics model) the Uploader will hang you !  Expect minimum download costs to be 300 or more.

* Ideally you should remodel your mesh. Separate it into smaller objects. Cut down on the bevel segments and generally reduce geometry where ever possible. For example the geometry in the curved railing on the top floor and the amount of tris in the big roof cones. Needs a general clean up. Also when separating think about separating inside parts from outside. Outside needs good LoDs that can be seen from a distance, inside parts will only be seen from a very short distance. Spending time doing this will greatly reduce the final LI cost.

Check out Wulfie's reply with  Drongle's graphs here :

 

For test, try separating the spiral stairs into a separate object then use this earlier post as guide for creating the collision model for them:

Do a test upload and change Physics shape type to prim. If costs and collision surfaces appear correct then move onto another part of the building  :)

 

Just a note. If you decide to separate your building into separate objects and would like to upload these parts as anything other than a single object at a time then you will need to comply with a strict naming convention for the objects names in Blender (names in the Outliner).

 

Quote from above link :

Uploading your own LOD files

You may upload your own simplified models by choosing Load from file from the Source dropdown menus. You may wish to create your own lower-detail models in order to preserve critical details that may be lost during the automatic simplification process.

 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 "

 

Without the suffixes added to the names the uploader will not know which Physics (or lower Lod) model is to be used with which visual model.

Edited by Aquila Kytori
Link to comment
Share on other sites

4 minutes ago, Aquila Kytori said:

BTW just a little warning. You have chosen a very ampt name for your building, because with such a large object comprising of so many triangles (even using  Wulfie's extremely simplified physics model) the Uploader will hang you !  Expect minimum download costs to be 300 or more.

I did not mention this but yes, the download cost of my original model (with auto-generated LODs) was almost 90. I would definitely not accept the model as it was.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...