Timeline for How can I optimize a collision engine where order is significant and collision is conditional based on object group?
Current License: CC BY-SA 3.0
23 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Sep 17, 2013 at 14:38 | vote | accept | Vittorio Romeo | ||
Jul 11, 2013 at 19:13 | comment | added | Vittorio Romeo | I awarded you the bounty for all your efforts. I am still open to suggestion as I am not 100% satisfied with the current answers. | |
Jul 11, 2013 at 19:13 | history | bounty ended | Vittorio Romeo | ||
Jul 10, 2013 at 12:28 | comment | added | Will | That is very cool! Well, looks like strict move-first order with an octree instead of a grid is perhaps a slight speedup. | |
Jul 10, 2013 at 9:46 | comment | added | Vittorio Romeo | @Will youtube.com/watch?v=EExHVi8NMzA | |
Jul 10, 2013 at 7:42 | comment | added | Will | @VittorioRomeo you keep surprising me :) Does it look ok in-game that distance travelled is truncated depending on this order-of-movement and where they happen to be at the beginning of each tick? Got any videos of it in-game? However, as it stands, ignore all I said and compute the hits for each object in strict move-first order, and adopt the octree instead of the grid. | |
Jul 9, 2013 at 8:23 | comment | added | Vittorio Romeo | @Will: i.imgur.com/LOffq7Y.png | |
Jul 9, 2013 at 5:16 | comment | added | Will | @VittorioRomeo do you mean that if A moves first, and hits B, it stops wherever B was? | |
Jul 8, 2013 at 11:59 | comment | added | Vittorio Romeo | @Will, tried with 10000 moving objects max. Performance is poor, but result is as expected. Stacks are "infinitely" stable. Object do not pass through each other. After A resolves against B, B will resolve against A - what I meant is that since A's resolution pushed "A right out of B", B's resolution won't change its position but will actually stop its velocity, because it's already hitting the edge of A (because A has already been resolved). If this isn't clear, let me know and I'll make an image. | |
Jul 8, 2013 at 8:22 | comment | added | Will | @VittorioRomeo and how many moving objects do you have? I guess you are sure you want this behaviour, but surely it leads to objects seeming to pass through each other? If you are comparing an object's path with the static position of all other objects, rather than their path, well... | |
Jul 8, 2013 at 8:16 | comment | added | Vittorio Romeo | @Will: the intended behavior is the second one. 1. A moves towards B; 2. A collides with B and A's position gets resolved; 3. B moves, but since A has stopped right next to it, B shouldn't visibly move but only detect the collision and resolve its velocity | |
Jul 8, 2013 at 6:06 | history | edited | Will | CC BY-SA 3.0 |
added 1733 characters in body
|
Jul 8, 2013 at 5:41 | comment | added | Will | @VittorioRomeo if A moves towards B and B moves towards A in the same tick, and at the same speed, do they meet in the middle? Or does A, moving first, meet B where B starts? | |
Jul 7, 2013 at 11:51 | comment | added | Vittorio Romeo | About your heap: is the order of movement respected? Consider body A and body B. A moves to the right towards B, and and B moves to the right towards A. Now - when they collide simultaneously, the one that moved first should get resolved first, and the other one would be unaffected. | |
Jul 7, 2013 at 8:26 | history | edited | Will | CC BY-SA 3.0 |
added 1366 characters in body
|
Jun 27, 2013 at 11:00 | comment | added | ClickerMonkey | I wouldn't recommend QuadTree, it's more complicated than doing a grid, and if not done properly it will not work accurately and will create/remove nodes too often. | |
Jun 26, 2013 at 6:31 | history | edited | Will | CC BY-SA 3.0 |
added 64 characters in body
|
Jun 25, 2013 at 18:43 | history | edited | Will | CC BY-SA 3.0 |
added 2542 characters in body
|
Jun 25, 2013 at 14:23 | history | edited | Will | CC BY-SA 3.0 |
added 804 characters in body
|
Jun 25, 2013 at 12:47 | comment | added | Vittorio Romeo | "Painting" sounds good, I'll give it a try and report results as soon as possible. I don't understand the second part of your answer though - I'll try to read something about pre-fetching. | |
Jun 25, 2013 at 12:18 | history | edited | Will | CC BY-SA 3.0 |
added 161 characters in body
|
Jun 25, 2013 at 11:47 | history | edited | Will | CC BY-SA 3.0 |
edited body
|
Jun 25, 2013 at 11:40 | history | answered | Will | CC BY-SA 3.0 |