How can i make a train or a bus that i can walk onto with my character and then let it move without my character going flying out the back and without him going from side to side?
Can i make it follow a path and make the character just be able to stand still inside it when its moving?
I don’t know any simple way to do this, although it would be quite simple if you knew python (I think). Some ways you could do it:
1.Have it switch scenes when you get on the vechile, and in the second scene, have your main character parented to the vechile.
2.Have the landscape move instead of your vechile, giving the illusion that your vechile is moving.
3.You could have it remove the main character (or make it invisible), then have the camera move to a second character that is parented to the vechile.
To make a vechile follow a path, simply use ipos, or have a empty have an ipo, then have the vechile track towards it, and move forward, this gives a smoother movement.
Edit: Well, Shn275 beat me to it, although I did take about 10 minutes writing this out while doing some homework, fi you would like, I could post the bus demo, I still have the blend, I’m surprised someone remembered it
There has to be an easier way to pull something like this off. It’s probably just a physics engine matter. I would wait for the next blender version including the more polished bullet physics engine.
Honestly situations like this python is your friend. I dont know the first thing about python but ive got this script work and its very useful for lots of things.
First you need an empty parented to the inside your bus. Attach to the empty an always sensor and python controller.
Use this script to get the position of the empty. (I cant remember where i got this from originally btw)
import GameLogic
own = GameLogic.getCurrentController().getOwner()
GameLogic.playerPos = own.getPosition()
Then all you do is set the position of the player to that empty and he’ll stay inside the bus, regardless of physics. You’ll have trigger this somehow, probably with a property.
if hasattr(GameLogic, "playerPos"):
own=GameLogic.getCurrentController().getOwner()
own.setPosition(GameLogic.playerPos)
Anyone who does know python feel free to correct me if any of this is wrong, but i have got it to work plenty of times. I used to be one of those people who wouldn’t touch python, but too useful to ignore really.
Yeah post the blend Face that would be great BUT I FOUND A SOLUTION LINV movment does not affect you dynamic actor in any way but thanks for all the sugestions they all helped and thanks for the code…much appreciated!!