Having trouble with Physics and Mass

Just started using Construct 2? Post your questions here

Post » Wed Sep 09, 2015 3:03 am

I have a 0 gravity setting (space) and have objects of different size and mass colliding. I have set the world gravity to 0, and set different densities to correspond with the size of my objects. When they collide though, it seems to not actually matter. I can have my smallest object with a density of 1, hit my largest object with a density of 80, and given the angle, the large object may start moving in the opposite direction, and the small object not change course at all, or they collide and bounce off each other at the same rate. It seems to be pretty random, as if they do not recognize their density or mass at all.

Is there something else I am missing? I have 3 objects, I want Object 2 to have 1/2 the mass of object 1, and object 3 to have 1/2 the mass of object 2, and for them to act that way when colliding in space.
B
6
S
1
Posts: 47
Reputation: 472

Post » Thu Sep 10, 2015 6:06 pm

this is physics man they are random sometimes as i know and u can just calculate them
example .. object 1 ... density 100 ----- object 2 ... density 50 ----- object 3 ... density 25
and they will do what they have to do.
C2 Intermediate Developer
Feel free to contact me
B
7
S
2
Posts: 111
Reputation: 908

Post » Thu Sep 10, 2015 7:35 pm

By changing densities you are changing the mass of each object. If you don't understand basic physics then this could be your error. For box 2d physics:

Mass = density x area

If object A has twice the area of object B and then you give it a density that is half of object B, they will both have the same mass.

Without a capx it's impossible to guess what else might be causing your problem. You can use variables to dig out each object's mass property and check to see if your density guess was correct or not.
I only occasionally visit - I'm learning C# for Unity, but c2 is still a respectable game engine imo....
B
73
S
19
G
66
Posts: 2,198
Reputation: 42,193

Post » Fri Sep 11, 2015 2:39 am

What I have is say Object A is approx 5-6x the size of Object B, and I set the density to be 4x higher. Yet, sometimes when object A and B collide, Object A will change trajectory, and Object B stays on the same path. Sometimes they bounce off of each other as if they are equal, and sometimes Object B is the one that moves, and Object A keeps going. Sometimes it seems like the angle of impact may have something to do with it (collision points are rather jagged, rather than round) but in any event, I wouldn't think under any circumstance, something with 6x the size and 4x the density should be turned completely around by the smaller object, while they smaller object keeps moving and it's path completely unaltered.
B
6
S
1
Posts: 47
Reputation: 472

Post » Fri Sep 11, 2015 2:53 am

My only guess then would be to look at the collision polygon and if you have any forces or impulses set to act on any of them. If you have a capx you can link to it would make this easier...
I only occasionally visit - I'm learning C# for Unity, but c2 is still a respectable game engine imo....
B
73
S
19
G
66
Posts: 2,198
Reputation: 42,193

Post » Sat Sep 12, 2015 5:59 pm

Trying to beat the forum here, I dont have enough rep to post links, string the below together just add in the h t t p


jmp.sh/b/SmHi8Zi
OrXIj1g0kglLG

Just watch a little while, and youll notice what I am talking about.
B
6
S
1
Posts: 47
Reputation: 472

Post » Sat Sep 12, 2015 8:22 pm

You're mixing bullet behaviour and physics behaviour... but they are not compatible. The solution will probably be to use just physics behaviour instead.
I only occasionally visit - I'm learning C# for Unity, but c2 is still a respectable game engine imo....
B
73
S
19
G
66
Posts: 2,198
Reputation: 42,193

Post » Mon Sep 14, 2015 3:37 am

Coll, I ditched the bullet behavior, it did fix my problem, although now I have had to go through and reprogram all of my movements since the set angle and rotate commands are no longer good. So now, I have all my initially spawning objects that you see working somewhat right (I do have them randomized as to where they fly, but it seems like they favor going to the direct center a lot, here is my code for that if you have any suggestions that would work better
Apply physics impulse 5 towards (random(288,672), random(162,378)
My center point is 480,270, I think I did like a 40% variance there, but it seems that the variance realistically is much less than that, and favors the center, wondering if there are any suggestions on that.

My 2nd issue. This is an asteroids based (not replica) space shooter. So asteroid a dies, it spawns 2 asteroid b's. Before with my bullet code, I could set an angle for B based on A, but now, when I try to do similar with impulses, my object B will not move. Here is what I was attempting to use for that
Apply Impulse 5 at angle objectA.angle+random(-20,20)
The object does not move, which I don't get since it's applying an impulse, I would think it would atleast move somewhere. Any idea where I am going wrong there?
B
6
S
1
Posts: 47
Reputation: 472


Return to Beginner's Questions

Who is online

Users browsing this forum: No registered users and 1 guest