Jump to content

Model Building


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

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

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 post
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 post
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
  • Thanks 2
Link to post
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 post
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 post
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 post
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 post
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 post
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 3
Link to post
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 post
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 post
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 post
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 post
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 post
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 post
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 post
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 post
Share on other sites
You are about to reply to a thread that has been inactive for 79 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
×
×
  • Create New...