I’ve started making a game which a cube lands on a platform. However when the cube lands on the platform and the players tries to move the platform the cube doesn’t move, whereas the platform does… When the platform is no longer under the cube, the cube does fall…
I’m really confused on how to fix this.
Any help on how i can get the cube to move with the moving platform would be greatly appreciated.
The cube needs a script that assigns it a position offset relative to the platform. I have no idea if this code will work, but it’s basically what I’m doing for my game.
There’s a couple of things that I can think of that could cause this:
It might be because you haven’t set the physics material on the platform to anything? You can set a default physics material for all objects in the Project’s Physics Settings.
Another possibility: are you moving the platform by directly adjusting its transform (such as in code or in an animation)? I noticed that when I was trying this it would not always properly update the mesh’s bounds and seemed to give erratic results with regard to the physics.
I’m on my phone right now so I can’t check properly what may be causing the problem, nor check that my solutions will actually work for you (apologies), however, adding the objects as children to the platform is definitely not the solution.
If you’re moving the platform using an animated rigidbody with ‘isKinematic=true’, then you need to enable ‘Animate Physics’ under the animation component. This will let your moving platform interact with other rigidbodies(in this case your cube).
Note: This only works if you’re using kinematic rigidbodies and moving them through animation curves.
In case you haven’t been using a rigidbody on the platform at all, keep this in mind: all moving colliders are dynamic and must have a rigidbody component attached.