I need to create an actor that will roll across the ground at a constant direction, and then when it bumps into a wall will roll the other way. If it reaches an edge it will fall off but keep moving forward. If it hits a pawn it should either pass through it or damage it, depending upon certain options. This is for a weapon effect, but I am extending it from actor because there is too much stuff in projectile to remove to get this to work the way I need.
Now I don't think I'm going to have any problems with making it change directions when it hits a wall, since there is already a HitWall function in actor. But I am a little unsure about how to make it actually roll.
I can create a cylinder collision easily enough, and one can add a velocity to the actor, but that would just have it move. It would be too much of a headache to try to create a rotation and time it to match the object's speed.
I could imagine this being treated like a standard physics actor, with exception to the fact that I don't want the actor to ever slow beneath a certain rate, and I want it to move only on a 2D plane. But I don't know how to have this actor roll according to existing physics calculations, let alone make the alterations I would need.
Hm someone here wanted to make a softbody mesh moveable and he was told to use AddImpulse.
I'm pretty sure it's possible to create some kind of physics object controlled by the projectile class. That might get similar to the big cannon from SeriousSam.
So instead of "it should look like it's rolling" you could do a "it's rolling for real and it's even bouncing!!" so you wouldn't need any hitwall notification anymore.
I'm a noob so dont ask me how to do this. Check the thread I mentioned. It's one of the newer posts in the programming board here.