Projectile keyframing and management tips?
#1
Hi! Iam loving the plugin, and it seems absolutely *incredibly* powerful. I'm at a loss, though, as I'm stuck too much in the pFlow mindset, and the way I'd do things there simply doesn't quite work the same way here. And that's great - because the way I used to do it is a freakin terrible hack. So, instead of trying to shoehorn something terrible in that's obviously not working, I thought I'd ask the experts the right way to do this:
Firing single-spawn particles from pre-defined spots, with potentially many different emitters, all of them hopefully with the ability to keyframe *exactly* when they fire off.
Best example I can think of is an X-Wing's lasers. I would like to have a flexible system for having 1,2, or many fighters in an animation, all with the ability to control exactly when they're firing off a laser from one of their 4 guns. Either in a pattern, or staggered, whatever. Ideally this "fired" particle would be the same flow for all of them, allowing me to add collisions with objects and globally control object instancing, speed, etc.
I feel like I'm missing an obvious path to this goal, but.. It escapes my mental grasp. I'm hoping someone can help!
Thanks!
  Reply
#2
err... 
Should be pretty similar as PFlow. 
How about just selecting the tip of the spaceship guns, and then: 
- Birth 
- Position object (selected mesh) 
- Shape (lasers)... probably box, or just pick some geometry 

You can animate rate of the birth.. or maybe use that "birth interval" (not sure, haven't used it yet, but it sounds something useful for this )  

One thing to keep in mind. Tyflow by default have 1 step per frame, and as I recall Pflow have double by default 1/2. 
Since you're dealing with spaceship and (probably) very fast lasers, you might want to increase substeps quite a bit, so it can detect collisions. 

Hope this helps.
  Reply
#3
That doesn't let me keyframe when the lasers fire from which emitter, not without setting up a separate flow event for every shot and every emitter. That's ...not a good workflow. There's got to be a better, more streamlined way.
  Reply
#4
You can keyframe birth rate.... or try some different birth methods. 
As for the emitters (spaceships), just add in the position object list whatever object you want to fire... it can be as many as you want 

Not really sure what controls you like to have. 
If you can elaborate, I might understand better. 

Cheers!
  Reply
#5
As far as I understand - if I add a list of emitters to the birth modifier, and keyframe the birth rate... I have no real control over which emitter the particle will spawn from. So, if I have a bunch of X-wings in battle, and I tell them, okay, shoot, the lasers will just randomly spawn from any of them. I need to be able to precisely control which emitter is shooting, and when. Does that help? I'm looking for the ability to say, Okay, these emitters shoot, whilst having a more global control for shot behavior/interaction. Thanks!
  Reply
#6
Here's an example of something I did with regular supersprays - you can see I have the ability to key which gun is firing when - It's not a great system, obviously, but it shows the control I'm looking for. https://www.youtube.com/watch?v=M3qW86_-bi8
  Reply
#7
Have you looked into the Birth Burst operator? It can be used instead of keyframing emissions times.

From there, I'd suggest using the same flow for all ships, but using a unique Birth Burst operator within the flow for each ship. You can use Position Object operators set to "pivots (in order)" to have x emitted particles be located at the pivot point of x emitter objects in the scene. From there it's just a matter of setting your speed/rotation/etc.  

Attached is a scene file with a simple setup for you to study.


Attached Files
.max   turrets.max (Size: 756 KB / Downloads: 191)
  Reply
#8
Oh, yeah - I knew there was a simple way to do it! Excellent, thank you! Now the only thing I'm seeing that's odd is that there's a single frame of collision where the old particle is visible as a new spawn event particle, before the spawn event deletes it and spawns the impact effects. Any way to ditch that single frame?
Thanks again!
  Reply
#9
Since Collisions are processed at the end of the time step, in this situation the spawn/deletion event isn't happening until the beginning of the next time step....so you end up with the 1 frame delay.

Eventually I may add the ability to do in-place collision processing in the Collision operator, which can have detrimental effects in many situations but would solve the issue here...in the meantime you can move the Rotation/Force/Display operators to their own event, and send particles from the Spawn operator into that event. That way when the particles sit in the Spawn event until the next time step, they won't be displayed. You can also drop the sim time step down to 1/2 frame or lower to further alleviate this.
  Reply
#10
Ty, that worked perfectly! Thank you for that. Big Grin Here's a little render of all the parts moving at once.
https://drive.google.com/file/d/1XVo-ikW...sp=sharing
So, currently I'm exporting these things as scene models...I can export them as tyCache as well, but I cannot seem to get the materials to apply to it. Is there a trick here that I'm missing?
Thanks again!
  Reply
#11
Nice anim man!  Smile
Great looking (I'd personally reduce that lens a little bit). 
How many steps per frame you had to use for this?

Now, brake that damn wall with voronoi!   Big Grin
  Reply
#12
Jeez! That's awesome! (the third cannon must be lazy since its chillin after shooting some lazers :p ) I would be intrested on seeing your flow!
  Reply


Forum Jump: