Posted: Wed Oct 07, 2009 10:59 am
Ok.. thanks.. that makes sense..
For information and discussion about Oolite.
https://bb.oolite.space/
It is a value based on the shortest and longest axis:Commander McLane wrote:How is the collision radius defined? The largest extension of the entity along any one axis? Then I could keep ships out of that radius until the player gets into scanner range.
i.e. those flashes in the distance as a pirate blows a hole in the side of an undefended Anaconda - have the same collision detection algorithms and precision working for them as they do for what's going on around us when we're flying. So, what would the consequences of fiddling with collision precision near the player ship have? Distant epic battles never happen because the ships spontaneously blow up because collision detection for them never happens properly?Commander McLane wrote:Because Oolite (unlike Elite) isn't player centred. In principle everything in the system should work all by itself, regardless how close or far the player currently is.Diziet Sma wrote:why would improved collision detection at close range to the player be "not entirely in the spirit of Oolite’s design"?
Unlike this, in original Elite the player was always in the centre of the action. Everything else was only added around him. I guess the 8-bit computers just couldn't run an entire system when effectively nobody was looking. Modern computers, however, can.
Thanks for the formula! I have already centred the Generation Ship, so the model size is now 6412.5 x 6412.5 x ~30400. (And the main entity is the head, not the barrels!)Eric Walch wrote:It is a value based on the shortest and longest axis:Commander McLane wrote:How is the collision radius defined? The largest extension of the entity along any one axis? Then I could keep ships out of that radius until the player gets into scanner range.
collision radius = (length_longest_axis + length_shortest_axis)/2;
When looking at the genship mod file I see:
// model size: 5625.000 x 5625.000 x 6500.000
So there is not so much difference between shortest and longest axis. I did notice that the model is very incorrect centred. The origin is defined in its nose. This will probably look bad when it makes a turn.
As Eric explained already on the previous page, that is exactly how it is working right now. You still see battles in the distance, because for normally sized, not hugely aspherical ships Oolite's routine works just fine. We only get into trouble with "big cigars", like the Generation Ship.DaddyHoggy wrote:i.e. those flashes in the distance as a pirate blows a hole in the side of an undefended Anaconda - have the same collision detection algorithms and precision working for them as they do for what's going on around us when we're flying. So, what would the consequences of fiddling with collision precision near the player ship have? Distant epic battles never happen because the ships spontaneously blow up because collision detection for them never happens properly?
Seems to be that way. I wonder why they were set to blow up instead of disabling the collision detection for them (or modify it to a very strict collision requirement)...I would guess that makes more sense than having them to collide more easily and even reduce the CPU load.DaddyHoggy wrote:Distant epic battles never happen because the ships spontaneously blow up because collision detection for them never happens properly?
I assume both ways are tested in the past and this came out as best. e.g. scooping pods is triggered by collision. For most instances when a ship is approaching to the collision radius it will hit the real texture a fraction of a second later anyhow.Screet wrote:I wonder why they were set to blow up instead of disabling the collision detection for them (or modify it to a very strict collision requirement)...
Really? I recently had about 20 splinters as a big bundle being scooped...they were INSIDE my Caduceus, but the scoops could not bring them aboard. I had to use the injectors to abort scooping and then scoop them one by one again.Eric Walch wrote:e.g. scooping pods is triggered by collision.
I only wrote triggered, not scooped. Once triggered it starts pulling in towards the scoop position. For that occasion collision detection is set of totally.Screet wrote:Really? I recently had about 20 splinters as a big bundle being scooped...they were INSIDE my Caduceus,Eric Walch wrote:e.g. scooping pods is triggered by collision.
Sounds entertaining.. can we see it?Screet wrote:Was a funny screenshot with that immense bundle inside my ship
Diziet Sma wrote:Sounds entertaining.. can we see it?
Um, really? Are you sure that’s not no_draw_distance you’re looking at? (Even then, in trunk that uses a calculation similar to the collision radius except flashers are included.)Eric Walch wrote:It is a value based on the shortest and longest axis:Commander McLane wrote:How is the collision radius defined? The largest extension of the entity along any one axis? Then I could keep ships out of that radius until the player gets into scanner range.
collision radius = (length_longest_axis + length_shortest_axis)/2;