We use cookies on this site to enhance your user experience

Jun 14 2019, 2:15 PM PST 10 min

In this tutorial, you’ll create the following portal particle effects:

Two blue swirling portals side by side, the left going inward and the right going out


  1. Under the Home tab in the Insert section, insert a Part.
    Inserting a PartThe inserted part
  2. Under the Model tab in the Constraints section, select Attachment. With that tool selected, click once in the game view to create an Attachment object. In the Explorer window, notice how the object has been parented to the Part.
    Creating an AttachmentThe newly created Attachment
  3. In the Properties window, set the Attachment’s Attachment/Position to 0, 5, 0. This is the position of the Attachment relative to the parent Part.
    The Attachment's Position property in the Properties window
  4. Next, add a ParticleEmitter to the Attachment. Select the Attachment, then press CTRL+I to open the Advanced Objects menu. Type “particle” and find ParticleEmitter to insert it. Since the ParticleEmitter is within the Attachment, the particles will be emit from the attachment point.
    The newly inserted ParticleEmitter
  5. Next, set the ParticleEmitter’s ParticleEmitter/Texture to the following image of a swirl:
  6. We want particles to be centered on our attachment. So, set the ParticleEmitter’s ParticleEmitter/Speed to 0 so they don’t move. Additionally, if the Attachment moves, the particles should move with it. Enable LockedToPart so this happens.
  7. Next, we want the swirl to start at a random rotation. Set the ParticleEmitter’s ParticleEmitter/Rotation property to 0, 360. This property is a DataType/NumberRange; when a particle is emit, a random number is selected between the min and max values. The particles should look like this now:
    Portal particle preview - step 7
  8. Next, set the ParticleEmitter’s ParticleEmitter/LightEmission to 1. This causes the particles to blend additively. Black sections of the texture will render transparently. Since portals give off light, they shouldn’t be affected by environment lighting. Set ParticleEmitter/LightInfluence to 0 as well.
    Portal particle preview - step 8
  9. Swirls should fade out over a short time. Set the ParticleEmitter’s ParticleEmitter/Lifetime to 2 seconds. Select the ParticleEmitter/Transparency property and press the […] that appears. A graph will appear. The X axis represents the lifetime of a particle, and the Y axis represents the particle’s transparency.
    The ParticleEmitter Transparency graph - tweened from 0 to 1
  10. The particles should grow in size over time. Select the ParticleEmitter/Size property and click […]. Set the Size to tween from 0 to 5. We’re starting to get something that resembles a portal.
    Portal particle preview - step 10
  11. Now we need the swirls to actually swirl. Set the ParticleEmitter/RotSpeed to -400, -320. The rotation speed is negative so that the particles spin counterclockwise, the direction of the swirl.
    Portal particle preview - step 11
  12. Set the Part’s BasePart/Transparency to 1 to hide it.
    There you have it! By using spiral textures and rotation speeds, you can create some pretty unique particle effects. The effect we just made spins counterclockwise and appears to be an “exit” portal. Follow the steps below to make a similar “entrance” portal:
    1. Duplicate the portal from the steps above by pressing CTRL+D with the Part selected. Move the Part to the side of the original. Name the original Part “ExitPortal” and the copy “EntrancePortal”.
    2. Flip the ParticleEmitter/Transparency property. Tween from 1 to 0.
      Inverting the Transparency tween from 1 to 0
    3. Flip the ParticleEmitter/Size tween as well.
      Inverting the Size tween
    4. Finally, negate the ParticleEmitter/RotSpeed property. Since the original range was -400 to -320, set it to 320 to 400 (negate and swap).
      To download finished products, click this link: Finished Portals