Jump to content

Mesh/sculpty problem for sitting


Phil Deakins
 Share

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

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

Recommended Posts

I don't know about objects reverting back to prim from convex hull. I haven't tested it. But I do know that we pay for capacity and not for prims or LI. It's capacity. The test I did today, and posted about, shows that currently capacity = LI. That test shows it very clearly. That may change, of course, as the way they calculate LI has changed since it was first introduced. But today capacity = LI, and capacity is what we pay for. The word 'prim' no longer exists in the About Land box.

Link to comment
Share on other sites

you pay by prim count, each server is priced for that count. When you purchase land you have agreed to the full prim allownce, and  that covers the server cost.Convex hull was a way of reducing prim count by effectivly reducing the physics math. In short a kludge, but then there the scripts, the server had no reference so had to revert the prim back to what it could use.

Link to comment
Share on other sites

I won't quote your post but this is a reply to your last one.

You're right. There are good reasons for having extra scripts. In my case, much of my stuff is what I call 'chameleon' - the user can change one or more of:- texture, color, shape, sixe, shine, and such. For me, I like that lot in a seperate script, largely because not everything does that, and I prefer to have the animations system be suitable for everything.

At one time I would have bent over backwards to shave a prim off an object, but not now. Today, I'm settling for a 2-prim solution, even though I think a 1-prim solution can be achieved.

However, what you described about your test is most interesting. I don't think the idea of deleting and adding again a script, and all that stuff, would ever have occured to me. It's good knowledge to have but I'm not going to test it with the rug (I know you weren't putting it forward for that). I couldn't possibly get the script count down below 3 without putting in a lot of time, and I'm not gouing to do that at this stage in my SL career.

Link to comment
Share on other sites

I always shift drag a copy of the object when adding removing scripts. The fresh copy will have the correct numbers set.

And yes, there are a gazillion reasons why you want to have more scripts than one. But it appeared to me that Phil was concerned about having it at more than one LI. And the only way to have 2 reliable sit targets counting 1 LI is with a single script.

Link to comment
Share on other sites

I was concerned about doubling the rug's 'capacity' count. That lasted until I realised how much time it would take to implement a dynamic sit target in all my stuff. So I decided to have the extra prim counting. I don't do many 1-prim objects, so it's not a big deal. A few years ago, I would have come to a different conclusion but that was then and this is now.

When I started the thread, I wondered if there was something, perhaps new(ish) in LSL, that I'd missed, that would allow people to sit in the problem environments. I'm content with the solution, even though it's an extra prim that counts against capacity.

Link to comment
Share on other sites


steph Arnott wrote:

Linden labs do not think that way, but have a good night, be blessed.

Yes, indeed they do, Steph.. Since they changed to the Land Impact system, the only thing that counts is L.I..  Mesh objects are automatically Convex Hull unless you deliberately change them to another Physics Shape Type.. Standard prims use the old system when they are rezzed, but if you set the Physics Shape Type to Convex Hull on any object, the effect on your land's "capacity" is calculated using the L.I. system. So, if you have an object made with six standard prims, you can reduce its effect on the land's "capacity" by converting it to Convex Hull, at which point it has an L.I. of 3 and it has only half the effect on your land's capacity.

Please read

https://community.secondlife.com/t5/English-Knowledge-Base/Calculating-land-impact/ta-p/974163

Incidentally, Arton Rotaru is among the most accomplished and experienced builders and mesh creators in SL. He knows his way around L.I. quite well.

Link to comment
Share on other sites

Not to beat a now very dead horse, but to correct my error: LI numbers in More Info show 1.3, not 1.5, when the LI registers as 1, and when those numbers show as 1.5, the LI will be 2 (LI always rounded up from the cost components). Also, OBJECT_SERVER_COST shows that 1.3 more precisely as 1.25.

I tried quite a few things to see if I could figure out more specifically when the LI = 1 condition obtains with two scripts in a two-prim convex hull linkset. I'm still baffled. Certainly arton is correct that a shift-drag "corrects" it to 2 in the new copy (so, 1.5 instead of 1.25=1.3), as does the re-rezzing from Inventory that I mentioned. Also, pushing more scripts into the object, whether with New Script or by llRemoteLoadScriptPin() causes it to increment by 0.25 as expected, but always behind by 0.25 until something else triggers the recalculation. Saving or recompiling doesn't seem to, but renaming any of the scripts does.

At this point, I wouldn't try to use this for anything practical. It seems to be an unstable (albeit weirdly sticky) glitch.

Link to comment
Share on other sites


Qie Niangao wrote:

At this point, I wouldn't try to use this for anything practical. It seems to be an unstable (albeit weirdly sticky) glitch.

Yeah right, the glitchy behavior could be fixed also, anytime in the future. Be it on purpose, or by accident. The glitch is certainly not an intended behavior of the server weight calculation.

Link to comment
Share on other sites

I am not desputing the fact that convex hull reduces the land inpact, but the fact it is not mesh. All convex hull does to prims is remove the phyics and wrap the object in a rough physics envolope and as such, as soon as you put a script like  sit target that original prim that is the target prim reverts back to its original primitve state, which is why the count goes up. Convex hull on primitive is so basic that a door way can have an invisable blocking effect. I do not make everything in mesh, becouse i just do not like the lack of depth effect so my biulds can be a mixture of prim, convex and mesh.

Link to comment
Share on other sites

That's not true, Steph. Adding a script to a prim that you have set to convex hull does not make it revert to its previous state. The L.I. increases by 0.25 when you add a script, as a reflection of the additional server resources that the script requires.  The script does not change the physics envelope of the object at all.  It is true that openings in some objects ( a hollowed cube, for example ) may be closed when you convert them to convex hull, but that's a function of the basic physics shape of those objects.

When it comes down to it, all objects in SL are mesh, whether they began life as native prims or as sculpts or mesh items that were created outside of SL and imported. Using the L.I. system results in a more honest account of the amount of server resources it takes to render the objects.

  • Like 1
Link to comment
Share on other sites

i had this problem a while ago with a bed i was trying to make,everything from getting turned to weird directions all the way too "no room to sit here".

 

the system couldnt find the sit target right,that was the problem

 

i know enough about basic algebra that i was able to program vector target on my own with relative ease.but the target rot coordinates messed me up.so i posted a thread for help,and then a generoussaint-like soul made code for me which converted targetrot into algebraic rotation numbers,which i was able to program and fix.and in the spirit of love and giving,ill pass along that beautiful code to you to help (mine is set for a bed but you can use it for whatever,just adjust the vector target and xyz rotation coordinates to your liking)

// Dhyana Writer 2009integer broadcast = 20;// Left Side Sleeping Position//vector target = <-1.06585, 0.71774, 0.18293>;//rotation targetRot = <0.50028, -0.49972, -0.50028, 0.49972>;// A More relaxed sleeping positionvector target = <0.200, 0.16328, -0.23000>;rotation targetRot;integer debugRotation = FALSE;key sitAgent = NULL_KEY;integer gotPermission = FALSE;integer time = 0;default{    state_entry(){        rotation targetRot = llEuler2Rot(<90,90,10>*DEG_TO_RAD);//in z,y,z axis        llSetSitText( "Sleep" );        llSitTarget( target, targetRot );        if ( debugRotation ) {            llListen( 1977, "Rotation Broadcaster", NULL_KEY, "" );            llListen( 1978, "Rotation Broadcaster", NULL_KEY, "" );        }    }    listen(integer channel, string name, key id, string message ) {        if ( channel == 1977 )            targetRot = (rotation) message;        else            target = (vector) message;                    llSitTarget( target, targetRot );         if ( time == 0 )            llSay(0, (string) targetRot + ", " + (string)target );        time = (time +1) % 50;    }    changed(integer change) {        if (change & CHANGED_LINK)        {            key agent = llAvatarOnSitTarget();            if ( sitAgent == NULL_KEY && agent != NULL_KEY ) {                // Someone new sitting down                sitAgent = agent;                llRequestPermissions(sitAgent,PERMISSION_TRIGGER_ANIMATION);            }            else if ( sitAgent != NULL_KEY && agent == NULL_KEY) {                // sitting down person got up - wake up Smiley Happy                if ( gotPermission )                    llStopAnimation("sleep");                // Reset the script because we don't have a way of releasing permissions Smiley Happy                llResetScript();            }        }            }    run_time_permissions(integer parm) {        if(parm == PERMISSION_TRIGGER_ANIMATION) {            gotPermission = TRUE;            llStartAnimation("sleep pose 6");        }    }    }
Link to comment
Share on other sites

I appreciate your generosity, Mishka, but the problem I had was dealt with some time ago. I found the solution by comparing something that worked with something that didn't and, after testing, realised that sit targets made things work. I started the thread to find out if I'd missed something in LSL that dealt with the problem.

Rotations weren't a part of it. My animations system deals with them fine - when the avatar can actually sit (link) on the object., which the 2nd avatar couldn't. It's also a bed :)

Coincidentally, I've been doing quite a bit with the sleeps in the bed, and included things like the duvet raising when someone gets on a sleep, so they are under it, and lowering when the last person on a sleep gets off or changes to a non-sleep animation. As I said, I'm just messing for the sake it doing it.

Link to comment
Share on other sites

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