3 Replies Latest reply on Jul 26, 2018 9:12 PM by alank99101739

    Pong-like particle

    cheyrn Level 1

      I am still going through examples that appear in front of my face as I try to find out how to use character animator. One thing I want to do is have a pong-like particle that I can record bouncing off the walls of the screen with a pretty long duration, like the ball in pong.


      Comparing my puppet to the chicken in chicken blaster, I am yet to find what I am doing differently. My puppet does not appear on screen unless I click with the mouse, using Point and Click or Cannon. How can I judge where on the screen the puppet will start and where it will go?

        • 1. Re: Pong-like particle
          alank99101739 Level 5

          Probably not useful, but I had a bouncing ball scene where I used the physics behavior, set "Collision"/"Start" to "immediately" (rather than "when triggered"). I then just set the position X and position Y of the puppet and let gravity start the balls moving (I have multiple copies of the puppet).  But I could not see how to set an initial velocity to a puppet - I think the particles behavior is the only way to do that.


          The ball is visible immediately without the particle behavior, but as soon as I added that behavior the ball is not visible until I click (triggering the behavior). I think you need to click because it is creating a new instance (a new particle) rather than just showing the puppet in the scene. Particles are "emitted" from a puppet is the idea (e.g. from a hand, etc).


          So I tried to adjust my ball default, but it was appearing at random places on the page. Here was the puppet structure.

          I had put the particles behavior on the root of the puppet, then tried a few different places, but it was appearing at random all over the place. So it sort of felt like it was doing something, but uncontrollable.


          So next I tried a different puppet structure as follows:

          Basically I nested the soccer ball inside another layer (the "shooter"). I then put the particles behavior on the soccer ball (not the root puppet or shooter). With that in place the position of the shooter puppet (Position X and Position Y etc) controls the start point of the balls (the nested particular layer). Canon uses the "Direction" property to set the exact direction, point and shoot fires the ball towards where I click on the screen relative to the puppet position. I turned off gravity (I set it to zero), set fiction to zero, set bounciness to 100%, set the bounce off sides, etc. to get more of a pong game like effect.


          So if you want straight line velocity, I think you must use a particle behavior with a parent puppet and click to start it off. If you only need gravity to move the object, you can just use a puppet with the collide property set without the particle behavior - but it will start still, being moved only by gravity/wind etc.

          • 2. Re: Pong-like particle
            cheyrn Level 1

            I'm having a hard time judging answers to some of my questions, because I figure out that I must have made some mistakes. If I start over, then particles work as I would expect.


            I can say I don't understand the meaning of physics on different levels leading to an element of the puppet and I'm still digesting your comments.

            • 3. Re: Pong-like particle
              alank99101739 Level 5

              Sorry about that! I will try one more time and hopefully make it better and not worse!


              The “Physics” behavior defines things like gravity, wind, friction, dangle bounciness, etc. For example, you can create a puppet (e.g. a ball) and place it in a scene. If you can then make it ”dynamic” so it moves by itself. E.g. you can add gravity so the ball falls to the ground. The “collision” tag if added can make different “dynamic” puppets bounce off each other. E.g. I sometimes create a rectangle also with the “collision” tag but not the “dynamic” tag so it stays where I put it. That means the ball can fall down, hit the rectangle, and bounce back up again. (You can make things bounce off the edge of the scene, but using a rectangle puppet means I can control where the ball bounces better.)


              In the above case, the puppet is still a normal puppet. If you drag one into the timeline, then there is one in the scene. If you want two balls, add two puppets.


              The particle system is different concept. The particle system can be used to implement things like a machine gun that fires lots of bullets. How does it do this? You don’t have to create a puppet in the timeline per bullet. Instead it creates as many new “particle” puppet instances as needed, based on a template provided in the puppet. (The “particle” puppet instances never appear in the timeline view.) You create a sublayer in the “gun” and say “this sublayer is the template for new “particle” puppets (the bullets), when the gun is fired (triggered)”. By template I mean “particle” puppets are created from the sublayer . That is why my previous example  needed a “shooter” layer (the “gun” puppet) and a soccer ball sublayer (to clone per soccer ball instance that needs to be created).


              The bullets (particles) often have the physics behavior defined to control how they behave, or “collide” tags added so they bounce off other things with the “collide” tag.


              Hopefully that helped rather than just making it worse! :-/

              1 person found this helpful