Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    Shape-Based Particle Emitters

    3D Blocks
    1
    1
    171
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • info-creaticode
      CreatiCode last edited by admin

       

      Introduction

       

      You learned about Single-Point Particle Emitter, which generates particles from a single point in the 3D space.

      In this article, we will discuss “shape-based” emitters, which generate particles from within a 3D shape like a box. They allow us to produce very different visual effects.

       
       

      Box Emitters

       

      The box emitter is simply a transparent 3D box, and it can generate new particles from any random point inside this box. We can not see this box since it is transparent, but we can indirectly see its shape by where the particles are generated.

      To use the box emitter, we need 2 steps:

      • Select the “Box” shape when creating the emitter
      • Configure the size of the box by its minimum and maximum X/Y/Z positions

      Here is a simple example:

      c2a8f448-4159-4c2c-9650-0b59e13de733-image.png

       
      This program creates a box emitter that is 400 units in each dimension. For example, in the X dimension, the minimum is -200 and the maximum is 200, so the x position of new particles can be any random value between -200 and 200. When you run this program, you can see the particles are all confined within this box-shaped region:

      boxe.gif

       
       

      Sphere Emitters

       

      The shape of the emitter can also be a sphere. When we configure the sphere shape, we can set its size using the “radius” parameter.

      There is also a “range” parameter (between 0 and 1), which controls the range of possible values along the radius. You can think of “range” as “thickness”:

      • When “range” is 0, the particles will only be generated on the surface of the sphere, and not inside it.
      • When “range” is 1, the particles can be generated at any random point on the surface or inside the sphere.
      • When “range” is between 0 and 1, the particles will not be generated near the center of the sphere, but can be generated on the surface or near the surface.

      Here is an example program with a range of 0:

      2cc97be7-d52c-47da-a6b5-290de9d5bf27-image.png

       
      As shown, particles are only appearing on the surface of the sphere:

      boxe.gif

       
       

      Hemisphere Emitters

       

      Hemisphere emitters generate particles from a half-sphere shape. You can specify its radius and range the same way as the sphere emitters.

      One thing special about hemisphere emitters is that we can rotate the half sphere to different directions. As shown below, when we rotate it around X-axis for 90 degrees, the new particles are all generated at the bottom half of the sphere:

      hemi.gif

       
       

      Cylinder Emitters

       

      The emitter can also take a cylinder shape. We can control the radius of the circle, and also the height of the cylinder.

      The “range” parameter also works for cylinders. You can think of it as controling the “thickness” of the cylinder’s skin. For example, when radius 0.5, the thickness of the cylinder skin is half of the radius:

      c7c08d32-3afb-4027-aab1-2f466e64d849-image.png

       
      The cylinder shape also supports an additional parameter of “direction randomness”. This only matters when we set the particles to not face the camera all the time, and we will see the particles facing different random directions when we set “direction randomness” to 100:

      a3fe7ddd-4362-4f54-8f08-0069851417f7-image.png

       
      Lastly, we can rotate the cylinder emitter as well. For example, we can make it “lie down”:

      cy.gif

       
       

      Cone Emitters

       

      For the cone-shaped emitter, we can console these parameters:

      • Radius: The radius of the bottom circle of the cone
      • Angle: The opening angle of the cone. Note that the angle and the radius would imply the height of the cone, so we won’t need another “height” parameter.
      • Radius Range: This range value applies along the radius direction. When it is 0, the particles will only be generated on the surface of the cone. When it is 1, the particles may come out from anywhere inside the cone or on its surface.
      • Height Range: This range value applies along the height of the cone. When it is 0, the particles will only emerge from the bottom of the cone, and when it is 1, the entire height can generate particles.

      We can rotate cone emitters as well.

      cone.gif

      1 Reply Last reply Reply Quote 2
      • Moved from Draft by  info-creaticode info-creaticode 
      • First post
        Last post