News:

Rings of Reznor!

Main Menu

Particle Emitters In General

Started by UnkoMan, January 13, 2018, 12:45:36 AM

Previous topic - Next topic

UnkoMan

I've been asking a lot of questions lately.
I know there is a huge knowledge base on this forum. I hope it doesn't get annoying.
This is will my hexing mega thread.

So I have a mesh (thanks to detourne) and I had it on a male_basic skeleton and cobbled together keyframes from various sources. It was pretty good! I liked it!
BUT, AA had a Modern Iron Man mesh with better flight animations. Ones where he had particle emitters out of the hands and feet. I liked those much more. Threw the fly and hover onto my other keyframes, and then stuck my mesh on his mesh so that the emitters would actually be there.
Animations worked smoothly! And when I went to fly, the emitters showed up! Problem now... they don't go away! Need some kind of flag on all the other animations to tell them to go back to hidden.
Does anybody know how a person goes about doing this?

Cyber Burn

Unfortunately, because of the mixed animation sets used, that would probably require a level of keyframe skoping that is way beyond me. In this situation, I think you would have to go into every animation and make alterations.

detourne_me

Unko! I'm glad you are figuring things out! I havent had much time to do FF stuff.
So, to turn off the flying FX, you'll need to add the jet nodes to the idle, land_from_flight, and melee_idle keyframes. I had put up an album on imgur with a tutorial how to do this. But im having trouble loggin into that account now.

Cyber Burn

Hey DM, glad to see you back! Thanks for stepping in here, because I'm over my head here.  :lol:


UnkoMan

#4
I figured it would be something like this but am still a bit unclear.
So, I found the jet nodes under flight, copied them over under idle. But what do I do with these nodes?
Or should I be copying them from the other mesh's idle animation where they are, I assume, correctly set to "off"?

EDIT: Whatever it was I did just made CTool crash. Trying more jazz!

detourne_me

OK, so,  from memory....
You want to open up 2 instances of NiFSkope. The keyframes you're going to use (KF1), and the Iron Man keys you got the flight from (KF2).

Click on "idle" in both keys, and look at the Block Details section. I think the jets are controlled by nodes called PArray_Jets_L and PArray_Jets_R,   In KF1 you won't have those in the keyframes, so under Num Controlled Blocks add 2 to the number and refresh the Controlled Blocks section. This will create 2 empty entries at the bottom of the list.
Now, in KF2 (the Iron Man keys), open up the Controlled Blocks trees until you find the PArray_Jets_R and PArray_Jets_L blocks. You want to click on the blue reference arrow to get to the correct NiKeyframeController in the Block List window. Right Click>Block>Copy Branch that.

In KF1, Rightclick on "idle" (or any main branch) in the Block List and paste, the NiKeyframeController will be pasted into the keyframes at the bottom of the list and outside of any branchs, effectively corrupting the keyframe file. YOU CAN'T LEAVE ANY KEYFRAME DATA AT THE BOTTOM OF THE LIST.

So, back in KF1, under "idle", go to an empty Controlled Blocks entry and type in the Target Name "PArray_Jets_L" and type in the number of that NiKeyframeController you just pasted into the Controller block. it will sort that extra data at the bottom of the list into your keyframe files.

Do this for both the right and left jets for a few different animations, mainly idle, melee_idle, land_from_flight, and run to be safe.  It is pretty time-consuming, though.  you could copy the NiKeyframeControllers over into every melee and ranged frame too if you wanted to be perfect, but just those main ones will keep the jets hidden while playing the game.

Umm.  please let me know if this helps, or if my wording is too confusing or unclear. 

UnkoMan

#6
Woof, I got stuck right at "Num Controlled Blocks." If I am suppose to be seeing this under NiSequenceStreamHelper for Idle's Block Details, I am not seeing that on either set of keys.

There wasn't any keyframe data left at the bottom of the list.

Here's what I was doing. I clicked way down through Iron Man's Idle's NiStringExtraData until I came to the PArray_Jets stuff. There were 4 of them right at the bottom of this branch. I copy branched the Jets, paste branched them into KF1. They automatically went down on the very bottom of the entire thing. Then I went down down to the end of KF1's Idle's NiStringExtraData list, and saw in the block details "Next Extra Data" and set that value to be the value of the first PArray_Jet. That placed all 4 jets under "weapon" in that idle animation, which is how they were setup in the Iron Man frame animation.
So I assumed placement in the file was correct.
I did not copy any NiKeyframeControllers though.

When I figure this out, should I be putting them also on falling_forward and falling_backward? I'm trying to think of what else would be used directly out of the flight animation. Maybe I'd throw them on fall too, to be safe.

I took some screenshots to show you what I see, and hopefully make things clearer.
Spoiler

EDIT: Okay, I just copied the last 4 NiFrameControllers from Iron Man to KF1's and it seems like it worked! Whoo hoo!
I'm going to do that for the other animations and hopefully not mess up. Thank you very much!

detourne_me

Wow! :thumbup:
You've just figured out how to skope keyframes in with  :ff: keys!  I was always intimidated by how things are nested and not in branches like with  :ffvstr: keys. I've never been able to skope  :ff: keys well.  Good on ya!

There are a few differences between FF and FFVTTR keyframes that pose different obstacles for skoping.
One thing I've learned is that some meshes use multiple skeletons, like Texas Jack's Atom for instance. in FF1, all three skeletons are labelled under Bip01, but once converted to FFVTTR, they become Bip01, Bip01_1, and Bip01_2 for example. So, In my Giant Man skope for Podmark, any keys i imported, I had to manually assign which skeleton they were for by adding a suffix to each node mentioned, like spine1_1, or L Finger01_2 for example.
Recently I found out that you can bypass all that, and have multiple meshes with different skeletons in the same skope (but I haven't tried with intergender meshes...) For example in my recent Transformers skopes, Grimlock has one skeleton that includes both the Transformer and T-Rex Bip nodes. Then I scale in and out the bodies with the same trick you scale in and out the jets. just by adding one more NiKeyframe Controller labelled autobot, or dinosaur, and scale them as 1 or 0 for each keyframe.
I think this would be possible for FF1 skopes, too.

UnkoMan

#8
Oh, ha ha ha. I didn't know these were FF1 keys? I assumed they were converted.
(I don't even have FF1 installed.)

Man, this other stuff you speak of sounds like a headache. Ay yi yi.


I am having a bit of trouble with a different hex. The one I'm trying to get FX hands on. I attach the FX, but then it never shows up, and I don't know why. I don't need a key node for this, if I want it on all the time, right?
I have tried with multiple emitters from multiple meshes, and it keeps on happening. So annoying.
EDIT: Oh, I have found my error! I was only copying the emitter on the actual body part, not copying the actual FX itself, which is outside of the bips. Now it's working! Hooray!

UnkoMan

More Particle Stuff!

Okay, so, I could have been satisfied. I managed to move the particles. But you know what?
Not good enough.

So I open it up. There's so much stuff. What does it all do?
Spoiler
Unfortunately I can't seem to find solid tuts on google for this particular sort of particle. I've been messing with some things and not noticing a difference. I found speed under NiPSysUpdateCtlr - Frequency. Changing the speed of the particle also, obviously, makes them begin emission slower. Makes sense. Under Grow/Fade Modifier there's Grow Time and Fade Time... Grow Time is as expected. If the number is lower the FX gets "full size" quicker. If the number is larger, it takes longer to get to "full size."
Fade Time is weird. When I make the number higher it seems to shrink the entire effect all together, but... Well, each spawned particle is way smaller and disappears in a proportionate amount of time related to this size. That is, say, an effect of one inch size that travels four inches, when fade time is increased, would become an effect of half an inch size that travels two inches...
But the AREA of where these effects spawn doesn't seem shrunk. The actual emitter. I dunno if that makes sense explaining.
Here, I took a screenshot.
Spoiler

I can't seem to find where it would be to spawn a bit LESS particles in general though. Also, repositioning... I rotate the emitter right? Except I have to keep going into CTool to check the rotation? And CTool doesn't refresh a mesh. It's a bit of a pain.
Is there an easier way to do this that I don't know about? Can I get the particles rendered in nifskope? One tutorial talked about "playing" the animation, and I see a "play" symbol but clicking it does nothing. I figure nifskope doesn't know what animations this is using anyhow, so that's a completely different thing.

ALSO, I tried copying the branch onto a different body part and that broke the connection. Even when I copied the branch back to the hand.  (I was thinking it might be easier to position if it was attached to the forearm, and thus would always go up the forearm instead of changing with whatever direction the hand changed.)
If anybody knows where this connection is and how I broke it, I'd love to hear about it!

Okay, that's it for now. Lost my train of thought.

daglob

I don't know if it would do you any good, but have you seen Kenn X's "Flame-On Action" meshes at Freedom Fortress?

UnkoMan

#11
Heard of, but not downloaded.
Sooo... I'll download!

There are very interesting. Right now I have a really subtle tiny particle effect going on, which looks cool, but I'm thinking... I usually am zoomed way out on the map when I play. Effects have to be big and loud, like a stage production. Or at least a bit bigger than I'm currently using, ha ha.
How far out do people usually zoom?

EDIT: Ahhh, this flame on switches bodies entirely. I have seen this technique on Giant Man/Ant Man meshes. Did not look into it a ton though.