Why, when the velocity of a physical prim increases, does it go flying through other objects (not physical, but also not phantom)?
See video that shows it happening: https://www.youtube.com/watch?v=Fnx7jpwH_5s
The more shallow the slide, the more chance that the carpet makes it through the curved end.
I've tried raising and lowering the densities of the carpet and the slide. I've tried making the slide much more dense than the carpet, and vice versa.
I've tried changing other properties in the prims (gravity, friction, bounciness).
What drives me crazy is that this setup worked on Fire and Ice Grid, but that grid was erased from the universe before I could grab my inventory.
I'm so bummed.
Why does velocity make objects go through each other?
- Pook Magoo
- Posts: 6
- Joined: Sun Dec 12, 2021 6:14 am
- Has thanked: 6 times
- Been thanked: 4 times
Why does velocity make objects go through each other?
- These users thanked the author Pook Magoo for the post:
- Ilan Tochner
- Ilan Tochner
- Posts: 6704
- Joined: Sun Dec 23, 2012 8:44 am
- Has thanked: 5181 times
- Been thanked: 4641 times
- Contact:
Re: Why does velocity make objects go through each other?
Hi Pook,
Physics engines calculate collisions once per server frame. When objects move quickly, those calculations may happen after objects have already passed each other so by the time the engine checks they are no longer colliding. The way to work around that is to increase the server frame rate. That increases server load which affects everything else the server handles. That is why multi-user virtual world and game platforms set their physics engine frame rate to values that may still cause fast enough moving objects to pass through each other.
Kitely uses the same physics engine frame rate that OpenSim uses by default.
Physics engines calculate collisions once per server frame. When objects move quickly, those calculations may happen after objects have already passed each other so by the time the engine checks they are no longer colliding. The way to work around that is to increase the server frame rate. That increases server load which affects everything else the server handles. That is why multi-user virtual world and game platforms set their physics engine frame rate to values that may still cause fast enough moving objects to pass through each other.
Kitely uses the same physics engine frame rate that OpenSim uses by default.
- These users thanked the author Ilan Tochner for the post (total 2):
- Pook Magoo • Tess Juel
- Pook Magoo
- Posts: 6
- Joined: Sun Dec 12, 2021 6:14 am
- Has thanked: 6 times
- Been thanked: 4 times
Re: Why does velocity make objects go through each other?
Oh. So does that mean Fire and Ice grid must've had a higher server frame rate?
(Thanks for replying!)
(Thanks for replying!)
- Ilan Tochner
- Posts: 6704
- Joined: Sun Dec 23, 2012 8:44 am
- Has thanked: 5181 times
- Been thanked: 4641 times
- Contact:
Re: Why does velocity make objects go through each other?
Not necessarily, it depends on the amount of activity on the region. OpenSim tries to calculate physics frames at the rate it was configured to, however if the Total Frame Time is high then it can't calculate these frames fast enough, which results in a lower server frame rate. See https://kitely.atlassian.net/wiki/space ... ased-Tools.
Check the Total Frame Time on each of the regions you're comparing to see how quickly each of them calculate things. Also make sure that they are both using the same physics engine, for example ubODE. The best comparison is to run the exact same region in both grids, when they are visited by a single local avatar (HG visitors create more server load). Do so 5 minutes after entering the region to ensure its been fully loaded first, as that too creates load.
The most meaningful statistic for physics comparison is looking at the Total Frame Time. If that is equal to 50ms, for example, then the server can't handle more than 20 server frames per second. Note that server frame rate is different from viewer FPS. You can have very high values for one while having very low values for the other.
Check the Total Frame Time on each of the regions you're comparing to see how quickly each of them calculate things. Also make sure that they are both using the same physics engine, for example ubODE. The best comparison is to run the exact same region in both grids, when they are visited by a single local avatar (HG visitors create more server load). Do so 5 minutes after entering the region to ensure its been fully loaded first, as that too creates load.
The most meaningful statistic for physics comparison is looking at the Total Frame Time. If that is equal to 50ms, for example, then the server can't handle more than 20 server frames per second. Note that server frame rate is different from viewer FPS. You can have very high values for one while having very low values for the other.