Author Topic: (Engine) Implement a way to control vehicle steering that actually works  (Read 603 times)

Somewhere around v17-v19, I made an add-on which let you spawn a taxi that drove around, which players could call for, get in, say their destination and get driven there (following the road network). This used the WheeledVehicle::setWheelSteering and AIPlayer::setMoveX functions. The former for actually steering, and the latter to get the former working by subtly nudging the wheels every tick. This was hacky, but it worked.

Now, in v21, WheeledVehicle::setWheelSteering is completely broken (or, at least, cannot be made to work by nudging with an AIPlayer). The only seemingly obvious way to drive around vehicles is to use the newly "fixed" behavior of AIPlayers when controlling a vehicle. Except that it sucks. A ton. Bots usually end up driving several studs off the side, which means they reach their destination a bit off to the side and start to circle it like a planet around a sun.

Please, add WheeledVehicle::setVehicleSteering(float angle) (which actually works and controls all the wheels that would be affected by a player normally) and WheeledVehicle::setVehicleDriving(float speed) (where speed is from -1.0f to 1.0f, having similar effects as making a bot control the vehicle and using ::setMoveY).
« Last Edit: January 31, 2014, 02:58:14 PM by Port »

Badspot.
Fix it or I will kick your dog.
pls dont bane

While you're at it, fixing animated textures in multiplayer would be nice too!

how terrible would it look if you were to keep the wheels straight and just rotate the vehicle to aim at its target?

how terrible would it look if you were to keep the wheels straight and just rotate the vehicle to aim at its target?
It would look like this, but worse because there wouldn't be the usual smooth rotation that the engine implements on player objects.
http://forum.blockland.us/index.php?topic=238562.0

how terrible would it look if you were to keep the wheels straight and just rotate the vehicle to aim at its target?

That kinda defeats the point of using a vehicle, doesn't it?

WheeledVehicle::setVehicleDriving(float speed) (where speed is from 0.0f to 1.0f

It needs to be -1.0 to 1.0 so that you can go backwards.

It needs to be -1.0 to 1.0 so that you can go backwards.

.. er, yeah.


Bump.
Doesn't seem like any of the devs care.