Announcement

Collapse
No announcement yet.

Banking in Particle Flow

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Banking in Particle Flow

    Well I know this really isn't the place for it, but I thought ask since there are so many talented folks here, and for the sake of the swift replies in the forum.
    Has anyone got a clue as how to get particles to bank when they turn with Particle flow (or regular max particles for that sake). I cant seem to get them to do that no matter what. In addition, I want them to bob up and down as they travel, but I cant seem to get this type of behaviour either. I'm going to be sending a bunch of pre animated bats (point cached) out and want them to bank and bob as they fly, since the animation in the bat file is only a loop of the wing flapping.

    Does anyone have a clue?
    Signing out,
    Christian

  • #2
    Hi. The banking is problematic. I'm not totally sure, but I'm guessing scripting would be necessary... and scripting pflow is not my cup of tea.

    However, as for the 'bobbing'... you could use Bubble motion in the regular max particles or you can use my experimental technique for pflow in the file:

    http://home.comcast.net/~mncdavis/vray/bats_test.max

    Basically, I just used a wind modifier pointed up under the bats. I added a waveform and noise controller to the strength of the wind to create an irregular bobbing force.

    If you want more divergence in the bats you can make the Find Target icons larger (I used them to control the path of the bats). You could also toy with animating the position of the target icons to generate interesting motion. Furthermore, you could set up separate emitters (or split percentages of the existing particle streams) to apply unique effects to different groups of bats.



    good luck with it...

    Comment


    • #3
      By the way, you probably have too many bats to make this worthwhile -- but Crowd within Character Studio supports banking.

      Comment


      • #4
        Thanks for the file.....It's actually what I was going to do next after I got some sleep (the wind bit). I still need the banking feature though, so I guess ill have to dive into the whole CS4 crowd thing (kinda dreading that. Thought my life was free from CS after max got its rigging and skinning tools up to snuff).
        Signing out,
        Christian

        Comment


        • #5
          If your using speed by icon you can use a script operator with
          Code:
          on ChannelsUsed pCont do
          (
          	pcont.useTM = true
          )
          
          on Init pCont do 
          (
           
          )
          
          on Proceed pCont do 
          (
          	count = pCont.NumParticles()
          
          	for i in 1 to count do
          	(
          		pCont.particleIndex = i
          		
          		dumrot=$'Speed By Icon 01'.transform 
          		pCont.particleTM = dumrot
          		
          	)
          )
          
          on Release pCont do 
          (
           
          )
          Eric Boer
          Dev

          Comment


          • #6
            Hmm...do I put this in a script operator before or after the speed by icon event? (pardon my complete noobness when it comes to scripts).
            Signing out,
            Christian

            Comment


            • #7
              Thank you very much. Now I see the particles banking here, but they are all bunched up together on top of the "speed by icon" object. Nothing I do seems to have any effect on them. Could you include a screen shot of what your flow looked like?
              Signing out,
              Christian

              Comment


              • #8
                just stumbled on to this, myt as well make a reply

                I think in pFlow, you could just add a rotation operator, and set it to speed space follow...

                hope this helps

                Comment


                • #9
                  Eh....nope. I might just have tried that. Anyway...they are already using a speed space follow to keep their orientation. Banking is kind of a secondary rotataion, and is different depending on if you're airborne or grounded.
                  Signing out,
                  Christian

                  Comment


                  • #10
                    im not sure if this would work as i cant try this right now... but i think it might just work.

                    Code:
                    on ChannelsUsed pCont do 
                    ( 
                       pcont.useTM = true
                       pcont.usePosition = true -- I added this...
                       pcont.useOrientation = true -- ...and this to have access to the latter channels
                    ) 
                    
                    on Init pCont do ()
                    
                    on Proceed pCont do 
                    ( 
                       count = pCont.NumParticles() 
                    
                       for i in 1 to count do 
                       ( 
                          pCont.particleIndex = i 
                           
                          dumObj = $'Speed By Icon 01' -- the object to get banking info
                          dumPos = pCont.particlePosition -- store the position
                          dumScale = pCont.particleScale -- store the scale
                          dumTM = dumObj.transform -- store the transform
                          pCont.particleTM = dumrot -- apply the transform to the particle
                          pCont.particlePosition = dumPos -- apply the stored position
                          pCont.particleScale = dumScale -- apply the stored scale       
                       ) 
                    ) 
                    
                    on Release pCont do ()
                    hmm.. seeing this code now, i think particles wont bunch up on the icon, but i presume that the particles would all bank at the same time...

                    Comment

                    Working...
                    X