Blender Game Engine Collisons won't work

Can someone explain how this works because no matter what I can’t get it to work. I have my sensor for a collision with my wall, and the action is to stop the motion of my character by changing the basic motion value of the X. I currently move my character by the keyboard. I basically want to create a wall, but it just doesn’t work

Why not just make the character dynamic or rigid body, and let Bullet take care of that?

because I have no idea what any of that is

To enable bullet physics on an object, you have to go to the logic brick panel and select “rigid body”. Here is an image if that helps.

Attachments


great, that does make it work but it also creates a problem. Because now my character has to be over another object otherwise it will fall into blue area. And when it does it the wall, it is shot backwards, tumbling, I just want it to stop

Theres a number of things you can do, but you could first try changing "rigid body’ to “dynamic” and increasing the “damp” value to 1.0 or something. You don’t usually want to set the damping so high, but since you say you don’t want it to be affected by gravity… you should be o.k.

Also experiment with the servo options in the motion actuator.

only problem with dynamic is that it doesn’t collide

Make it move on the LinV… Then on the shaders panel select DYN and put the friction slider up…

ok now it doesn’t seem to work at all back at the original settings of my wall being static and my character being rigid

I can’t find the DYN

ok well, nothing works anymore, I can’t get it to collide at all. No matter how I set it up it doesn’t collide. Anyone got any ideas? Please someone tell me exactly what I need to have my character set up as and what my wall set up as because the way it is right now, is just a complete mess

Take a look at this example I uploaded awhile back. http://blenderartists.org/forum/showpost.php?p=1476880&postcount=5

If you dont want your charactor to fall, then change the gavity to 0.

To change the gravity to 0 > press f5 > go to world buttons (a little blue button) > change the Grav settings to 0.

Hope this helps

Place a plane under the player to act as the ground. Scale it up really big and give it a nice texture.

I actually already have this, and I will check the example posted above

scratch all that

ok I got it to work. My character is rigid with damp of 1 and my wall is static. Now, my character, hits the wall and doesn’t go through. My only problem now is, if you keep pushing you can get past the wall. Is it because the wall is a plane? Do I need to use python?

No, it’s because you’re using a silly and unrealistic method.

In the real world, objects exert forces on other objects. The reason we don’t go through walls in real life is because those walls push with a force back equal to the amount we’re pushing on them (this is called “Normal Force”).

In your world, you’ve not only told your object to ignore all “real” forces (setting Damping to 1 basically means that your “dynamic” object doesn’t respond to external forces at all), but you’re moving it in a way that involves no force or even velocity. The “Loc” actuator literally just MOVES your object… there is no velocity anywhere

If your object isn’t exerting any force on the wall (it really isn’t, Loc is just “teleporting” it closer and closer to the wall) then the physics engine will do its best to try and fix it… but it doesn’t really know how. What results is weird behavior where you can eventually push through the wall.

In general, the best way to do almost ALL movement is with Force and/or Servo control. linV is also sometimes acceptable, but not ideal.

Do a search on these forums for how servo control works.

Create a “ground plane” to stop your character from falling.

Don’t ignore what everybody here has told you and just go off and try something else equally weird.

If these solutions don’t work, tell us what you’re trying to do and post a blend file so we can actually help you.

-Sam

You dont’ seem to have much knowledge about the BGE. You should look at the game engine documentation on the blender wiki. It helped me a lot.

thank you all so much, everything seems to be working. My only question is why, when I come close to the wall does it kind of distort? I can try to post the blend and video file later if you want

ok I now have a new problem i am trying to get sound working. I have this background music wav file. I have a
Always Sensor
And controller
Sound Actuator with sound file background, play end

This is great but is there a way to change the background song to a different one when its done playing?

do I have to change the song with python or do you recommend setting a key that changes the music