Curving a projectile horizontally by adding to axis as time elapses?

Hey everyone,

I hope I wrote that right. What I’m looking to do, in a 3D instance, is fire a projectile up one axis, and then have it curve back and forth as it travels, kind of like a firework.

I figured the easiest way to do this would be to add to and subtract from its present y transform (or whatever axis is relevant) in a set range as time goes on, and split the left and right movements up by using two two different parts of time, say .75s for the first curve, 1.5s for the second. Total time on screen would be 1.5s, giving it one zig-zag pattern before the bullet terminates.

So I guess what I’m asking is, and I’m googling these currently,
How can I add a time component to my bullet?
What method do you like to use to get time, or should I use frames?
How can I add or subtract a value over time, use time=spaced groups of 10 add/subtract functions as it travels?

This is exciting but I’m a bit overwhelmed, thoughts appreciated!

So my questions are:

Something like this?

@Major Perfect, I just had one more question. I used your code and everything seems to work, but the projectiles only follow my ship on one axis, as far as where they originate. My shooter has a top-down view, so currently my left to right is the X axis, and my x position is being ignored because your code uses that slot in the Vector3 to give the bullet its motion.

How can I get around this? I feel like I’m close but I’m not seeing how I can locate the bullet and give it its velocity in the same Vector3, is that possible or am I missing a step??