Jump to content

Danger: Setting to Prim


Pamela Galli
 Share

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

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

Recommended Posts

Can someone explain this? 

A customer contacted me about a mesh table and said this:

"Hi I have the Dinner Party for 8 Trestle Table. I changed it to Complx Hull and it ended up in my lost and found. Now when I attempt to rez it I get "region full" even in a region with almost 7700 free prims Help!"

 

The table is 14 prims with the script.  So I checked my copy -- the invisible root prim, a cube linked to the top of the table, was set to Prim type for some reason, but the other meshes were set to convex hull.  So I changed the type of the whole table to Convex Hull -- no change.  Then I changed the whole thing to Prim  and instantly the table disappeared and I got this message:

 

[16:13]  Second Life: Your object 'DINNER PARTY TABLE FOR 8 - Trestle Table' has been returned to your inventory lost and found folder by you from parcel 'La Galleria Prefabs' at LaGalleria Prefab Homes 240, 9 because the parcel is full.

 

This is the table -- the bottom part of the table is 5 LI, the other parts .5 LI I think:

 

Screen shot 2012-03-25 at 6.24.09 PM.png

 

 

 

Link to comment
Share on other sites

This would be easier to answer with some more information. How many separate meshes is the table composed of? How dod you specify the physics shape(s) on the physics tab of the uploader? The basic problem is that your table has a very high physics weight. Exactly why would depend on the answers to those questions. It's visual mesh is also much more detailed than it needs to be, which is giving it a high land impact even when using the linked prim for physics (and presumably physics shape type None for the rest).

It is very easy to make meshes that have Prim-type or even Convex Hull type physics weights in the thousands, by paying insufficient attention to the requirments of the real-time physics engine. This is usually the result of using high poly meshes for the physics shape without providing an appropriate explicit physics shape. Let me address some possibilities here...

Firs, I must assume that you did enter something into the physics tab of the uploader. Otherwise, you would have only the default convex hull for each component mesh, and you would not be able to switch to "Prim" physics shape type. Given that, the best guess is that you used as the physics mesh the high poly mesh we can see in the blue highlighting in the picture. If then you did not press the "Analyze" button, you will have a triangle-based physics shape with a very large number of very small triangles. This is the worst possible thing to have in a physics shape. The physics engine hates small triangles and they are penalized accordingly in the physics weight calculation. If this is the case, it would not surprise me if the physics weight for such a triangle-dense mesh exceeds the capacity of a region, let alone a small parcel.

If you did press the "Analyze" button, the mesh specified is decomposed into a number of convex hulls. The physics weight of convex hulls is independent of size, but very dependent on the number of vertices. If this table is composed of several small meshes, it looks like their convex hulls would still have curved surfaces, with hoigh vertex counts. This can still produce verey high physics weights.

If you cannot guarantee that your items will be left as type "None", it is essential to make sure they have a reasonable physics weight when set to other physics shape types. The way to achieve this is to provide the simplest possible physics shape mesh that will achieve the collision behaviour you need. It is especially important to avoid curved surfaces wherever possible. For objects as small as this table, a decomposed physics shape will almost certainly give you a lower physics weight than will a triangle-based shape.

It is going to be well worth your while investing some time doing a few experiments to study phsyics shapes so that you can avoid the sort of problem you have run into.

Here is a simple picture with the sort of physics mesh needed for a table like this. Providing a shape like this, that is already a collection of simple convex hulls gives you the best control over the decomposition. This would be for the whole table as a single mesh, which it should be anyway to optimise the download weight (which is another issue entirely). It it is a number pf separate meshes, then you have to have a physics shape for each, which is another good reason for making it all one mesh.

tphys.png

  • Like 1
Link to comment
Share on other sites

Drongle thank you for that explanation.  I did not really understand it but I will try reading it a few more times.  I will reupload the table to be sure, and report in here, but the table top is comprised of 1) a separate mesh from the 2) bottom mesh part, then there is an 3) invisible regular cube prim on top with the scripted food in it, and a 4)mesh shadow plane.

I always choose lowest LOD for physics type and always choose analyze. I have not really understood what analyze is for so just by default always chose it because it was there. Oh and then I choose Simplify, for no particular reason.

Okay so, whether I understand why or not, sounds like the problem is too many small triangles in the bottom part of the table. I can fix that. However, I am still dumbfounded that setting it to prim could have such an extreme effect.

 

Link to comment
Share on other sites

I tend to agree with Drongle, assuming it's down to an unoptimised physics hull, Pamela.

It's definitely worthwhile creating customised physics hull meshes. As Drongle demonstrates, very basic, simple cube shapes are all that are required. They don't need to be pretty at all - just sufficient surface detail to provide the basic interaction required (sitting points, physical barriers etc). A hull designed like this is very rarely much more than a couple of LI at most - and larger, simple flat surfaces are generally much cheaper in LI than complicated small surfaces.

I can relate to your issue though - Once I uploaded a test room module mesh in a hurry to preview it on my plot, without having time to create a physics hull. I had the exact same experiences as you did Pamela - left as default and / or phantom, it was only 1.3LI (from memory). As soon as I changed it to prim physics, it disappeared (too large for my parcel's 500+ prim capacity). It wasnt anything fancy either - just goes to show what can happen though.

So yah, definitely invest a little time exploring the physics aspect. It's fairly easy - just utilise basic box shapes to emulate interactive surfaces (keeping the overall bounding box identical to that of your original mesh to ensure proper alignment).

:matte-motes-smile:

  • Like 1
Link to comment
Share on other sites

Thank you Maeve -- what I would like is to have the whole table have no physics shape, but give the invisible top cube prim with the food in it a convex hull type.  How about that?

 

I just redid the table bottom and will upload that now.

Link to comment
Share on other sites

I got that table down to 8 from 14 prims :-)  I have two other size sets and got those down, too. For all, I did not choose a physics shape, inworld made all prims type NONE except for the invisible scripted root prim that covers the table top, and that is convex hull.

Then I changed the whole table to prim (like my customer did) and nothing happened. LI did not change.

So, it still seems very extreme for a 14 prim table to have this behavior, but now at least the table is as break-proof as I can get it.

 

ETA:  If I already had the invisible prim covering the table, is there any reason to have a physics shape for the table top?  And why would I want a physics shape for the table bottom?

 

Thanks for the help!

  • Like 1
Link to comment
Share on other sites


Pamela Galli wrote:

 

ETA:  If I already had the invisible prim covering the table, is there any reason to have a physics shape for the table top?  And why would I want a physics shape for the table bottom?

If you have the invisible prim covering the top, you don't need a physics shape for the mesh itself ofcourse. On the other hand, you could do without the invisible prim and use a simple box physics shape for the entire table, which is what i would do.

The only reason to have a more accurate physical shape for the bottom of the table is when you have kids around playing soccer I guess...erm..something like that. For avatars it won't make a difference (unless the table will interfere with legs under the table in certain poses), but other small physical objects that collide with the table would look better when the bottom is modelled aswell.

  • Like 1
Link to comment
Share on other sites

" And why would I want a physics shape for the table bottom?"

Two more reasons - (1) in case someone decides to make it physical to drop it on a floor, or to have things interact with the top of it. . If it's only the top, it would sink into the floor. I don't see why anyone would do that, but it' might be better to be prepared. (2) If you use an uploaded physics shape, it is stretched to fill the bounding box of the high LOD visible mesh. Without something providing the depth of the legs, the top would be stretched down to the floor and block legs etc. from going underneath.

Using the separate physics shape is perfectly acceptable, but if the table is modifiable, then the customer can unlink it, with various consequent problems. If the shape is part of the mesh, this can never happen. Not relevant here, but for highly optimised low prim furniture - the extra prim adds 0,5 (oe 1.0 if scripted) to the server weight. for a scripted table, this would mean a minimum LI of 2 instead of 1.

 

  • Like 1
Link to comment
Share on other sites


Drongle McMahon wrote:

Without something providing the depth of the legs, the top would be stretched down to the floor and block legs etc. from going underneath.

it shouldn't make a difference for legs underneath, since (avatar) legs will only get under the table when in a sitting pose. It might make a difference when standing up from that pose, although I think even then the tabletop will give the same effect. It might differ from pose to pose, some objects will launch you into space when standing up from them.

Link to comment
Share on other sites

I'm glad you solved the problem Pamela. :matte-motes-smile:

Physics can potentially throw up some nasty surprises if not optimised, as you discovered. I agree with both Drongle and Kwakkelde - it's always good policy to create a basic physics hull for each mesh, even if it's not intended to be used. They are generally quick and easy to make, and almost always lower in land impact cost than the other LI weighting factors in the uploader window, so shouldn't increase the overall LI. But most importantly, as Drongle said, an optimised physics hull included with the mesh during the upload process stops customers from accidentally "breaking" a mesh by inadvertently changing its physics properties - if your products have simplified physics hulls included, even if intended to be used as phantom, at least your customers won't get any nasty surprises... and as a result, less potential headaches for you as well!

Glad you found a happy result though! Definitely keep experimenting with simplified physics hulls - as you have already found, there are potential LI savings to be made as well.

:matte-motes-smile:

  • Like 1
Link to comment
Share on other sites

Thanks all:-)  However, I still can't agree that a physics shape is always the best policy.  :smileytongue:

It looks to me like each object has to be evaluated on its own terms.  In the case of the table, it is imperative to put the invisible prim on the table top because it is full of food with stored rez positions -- I can use it on any table and not have to position everything.  So given that this thing doubles as a physics shape, I can't see any utility in adding a second, superfluous physics shape -- other than I suppose "the table legs will go to into the floor", which is not to me even a consideration.  The idea of making the prim deeper to cover the whole table would be a way to achieve that objective without adding a physics shape -- but again, I just don't see much value added.

Link to comment
Share on other sites

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