- Home /
Creating a solid, immoveable object ?
Hello friends, I'm new to Unity. I'm currently building a 2D asteroid shooter as part of a tutorial lab.
So far all is well, and I'm trying to build a solid, non-moveable brick object to protect the player from oncoming asteroids.
So far my block object has a Cube collider, and my player object has a Rigidbody. The player can't completely move through the block, but can somewhat tweak its body a little bit into the block object. It would be nice if it couldn't intersect the block at all.
However, my bigger problem is that if the player object tries driving up through the block, a gravity-like force is applied to it and it keeps getting dragged down. So:
1) How can I reduce the "feedback" physics that is causing my player object to fall back down after trying to push through the solid block? (gravity is not on) To clarify the affect of the force: if I drive the ship upwards trying to move through the block, I will be pulled back down at rest. If I try driving it downwards, I'll be pulled up. Same thing for trying to move left and right.
2) How can I make it so the player object can't even partially go through the solid block?
Thanks
Answer by Muzz5 · May 20, 2011 at 08:45 AM
The player should be stopped by the collider. Have you made sure it is the right size? If you're sure it is, then you could use add a rigidbody to the block, and add freeze position and rotation, (not sure how well that works though), or you could make it stationary through scripting (set it's position to whatever in a function update.)Hope that helped slightly.
Your answer
Follow this Question
Related Questions
When and when not to use kinematic rigidbody? 2 Answers
Drag and Drop Objects in Game Problem 2 Answers
Reset a collider during runtime to lose previous Physics.IgnoreCollision() calls 1 Answer
Make sphere collider the center of gameobjects/Sum of vectors 3 Answers
Why is it so fast to move objects with collider collisions? 1 Answer