0
votes

I may be misunderstanding how physics in Unity works, but if an object move towards another, and this object has mass 1, while the other object has a mass 100, how is possible that the object with mass 100 is moved by the other object?

Object1: box collider + rigidbody (mass 1, drag 0 with gravity)

Object2: box collider + rigidbody (mass 100, drag 0 with gravity)

1
I think that paul PATILis correct. What code are you using to move the smaller object?Programmer
In the real world if a one kilogram mass, moving quickly, hits a 100 kilogram mass - sure, it will move the 100 kg mass a small amount. If the 1kg mass is moving extremely fast, it will move the 100kg mass a lot. What's the question here?Fattie
Heya, For the first object I use a NavmeshAgent. The code that I am using is standard call to the agent with SetDestination(target.transform.position). I do recall in the past that if you set the high mass for one object, collision with smaller mass object won't cause any movement in the higher mass object; unless you are in frictionless or gravity-less environment; which is not my case. In real world I can't see a small kitten jump on me and move me, even for an inch :) Which is why I thought that 100 was a good number for the second object.user393267

1 Answers

2
votes

I guess you are using transform functions to move object 1 & 2,If you are using rigid body with Transform.position,Translate,Rotate or any of the transform functions then you override physics engine calculations.