Relative Velocity Calculation Adjustment#1
Open
ReedKimble wants to merge 1 commit intotutsplus:masterfrom
Open
Relative Velocity Calculation Adjustment#1ReedKimble wants to merge 1 commit intotutsplus:masterfrom
ReedKimble wants to merge 1 commit intotutsplus:masterfrom
Conversation
In translating this code to a VB.Net implementation, it was found that objects would build up angular velocity until they "exploded" against one another. This is most evident if you create an open "box" of fixed colliders and then drop an assortment of polygons and circles into the box. Thanks to assistance from this thread (https://social.msdn.microsoft.com/Forums/vstudio/en-US/65526d49-5107-4ffc-b25e-1b5a619afcb3/2d-rigidbody-physics-engine-bug?forum=vbgeneral) it was determined that the rv values should be calculated with subtraction on both terms: "And both minus (b.vel - ... and a.vel - ...) (not both plus), because of viewing from A to B (standing on the edge of A looking at the mass-point of B moving by -> standing on earth watching a shootingstar)" The two changes proposed in this file solved the issue and the translated code works exactly as expected now. PS. Thanks so much for creating this and the associated articles on your blog! Amazing, wonderful, outstanding work!!
|
Hi! is derived from https://en.wikipedia.org/wiki/Collision_response eq (3), so as i understand it's really does making them both minus really work, or is it causing the system to lose energy faster than it should? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In translating this code to a VB.Net implementation, it was found that objects would build up angular velocity until they "exploded" against one another. This is most evident if you create an open "box" of fixed colliders and then drop an assortment of polygons and circles into the box.
Thanks to assistance from this thread (https://social.msdn.microsoft.com/Forums/vstudio/en-US/65526d49-5107-4ffc-b25e-1b5a619afcb3/2d-rigidbody-physics-engine-bug?forum=vbgeneral) it was determined that the rv values should be calculated with subtraction on both terms:
"And both minus (b.vel - ... and a.vel - ...) (not both plus), because of viewing from A to B (standing on the edge of A looking at the mass-point of B moving by -> standing on earth watching a shootingstar)"
The two changes proposed in this file solved the issue and the translated code works exactly as expected now.
PS. Thanks so much for creating this and the associated articles on your blog! Amazing, wonderful, outstanding work!!