Is this going to be too expensive? Or is there a better way?

Let me first say I come from an animation background. I’m just beginning my journey into code. So take it easy on me!

The Camera is never going to move.
There is a giant Mothership that takes up most of the screen. The Mothership never moves. but its parts animate and change color.

So when the user presses the “1” key it starts an animation sequence where the Ship shoots out lights that animate in different directions. (the lights are going to be meshes with textures to make them look like lights)

Each sequence has 30 moving lights/Beams and the user is going to be able to modify the colors of the beams in the sequence that is currently playing.

So what I was going to try to do is have 30 keyboard inputs that the user presses and activates a different sequence with each different key press.

So each sequence will have its own meshes(light beams) and when the user presses a key those meshes and animation associated with them appear on screen and animate. When the user presses another input the previous sequence disappears and the new sequence starts.

Also when the key is pressed a gui button associated with that particular sequence will pop up and allow the user to modify the colors of only that sequence.

Can I create this so the 30 sequences aren’t constantly running behind the scenes and only activate when the user presses a key? Can I have the gui change to be associated with only the current sequence?

Is this possible? Can I do it this way?

Thanks guys for taking the time to read this. I’d really appreciate some advice.

If it was me, I’d build an action based engine that animates the beams according to timed schedules and use a multi-dimensional array to store the data for each sequence. This way the sequence animations can be changed just by changing the data in the array.

Thats a little over my head right now. I’m going to have to do some research to really figure out what your describing and how it would work.

But could I do it the way I originally wanted to?

Yes and yes. You can easily create this sort of situation and control all those animations (when they start/stop, the colors they use, etc.) via scripting and have that hooked up to a user interface and key set so the end-user “drives” things as they want.