Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • CreatiCode
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

CreatiCode Scratch Forum

  1. CreatiCode Forum
  2. Knowledge Base
  3. 3D Blocks
  4. Shape-Based Particle Emitters

Shape-Based Particle Emitters

Scheduled Pinned Locked Moved 3D Blocks
1 Posts 1 Posters 860 Views
  • 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.
  • CreatiCodeI Offline
    CreatiCodeI Offline
    CreatiCode
    wrote on last edited by admin
    #1

     

    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
    2
    • CreatiCodeI CreatiCode moved this topic from Draft on

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode