• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Solved] Particle Emitters 2 spawning in a square-shaped pattern.

Status
Not open for further replies.
Hey there.

I'm having some slight issues with the way particles are spawning. They appear in a square radius.

Square.png


How do I make it so that it spawns in a spherical or circle radius?
 
Level 21
Joined
May 29, 2013
Messages
1,567
How do I make it so that it spawns in a spherical or circle radius?
As JAKEZINC already said, you can rotate the emitter. Here are some examples of a global sequence that uses simple linear clockwise rotation:

Around the X axis
0: { 0, 0, 0, 1 }
200: { 0.707107, 0, 0, -0.707107 }
400: { -1, 0, 0, 0 }
600: { 0.707107, 0, 0, 0.707107 }
800: { 0, 0, 0, -1 }

Around the Y axis
0: { 0, 0, 0, 1 }
200: { 0, 0.707107, 0, -0.707107 }
400: { 0, -1, 0, 0 }
600: { 0, 0.707107, 0, 0.707107 }
800: { 0, 0, 0, -1 }

Around the Z axis (this is probably the one you need since the "surface" of the particle emitter is always initially parallel to the XY grid)
0: { 0, 0, 0, 1 }
200: { 0, 0, 0.707107, -0.707107 }
400: { 0, 0, -1, 0 }
600: { 0, 0, 0.707107, 0.707107 }
800: { 0, 0, 0, -1 }

Rotation in the examples above looks like this:
0 - 0 degrees
200 - 90 degrees
400 - 180 degrees
600 - 270 degrees
800 - 360/0 degrees

As you can see, rotations need to have a key every 90 degrees or less. These examples use a global sequence with a duration of 800 frames, but you should change it depending on how fast you want the emitter to rotate.
 
Last edited:
There's a way, but with only rotations.

As JAKEZINC already said, you can rotate the emitter. Here are some examples of a global sequence that uses simple linear clockwise rotation:

Around the X axis
0: { 0, 0, 0, 1 }
200: { 0.707107, 0, 0, -0.707107 }
400: { -1, 0, 0, 0 }
600: { 0.707107, 0, 0, 0.707107 }
800: { 0, 0, 0, -1 }

Around the Y axis
0: { 0, 0, 0, 1 }
200: { 0, 0.707107, 0, -0.707107 }
400: { 0, -1, 0, 0 }
600: { 0, 0.707107, 0, 0.707107 }
800: { 0, 0, 0, -1 }

Around the Z axis (this is probably the one you need since the "surface" of the particle emitter is always initially parallel to the XY grid)
0: { 0, 0, 0, 1 }
200: { 0, 0, 0.707107, -0.707107 }
400: { 0, 0, -1, 0 }
600: { 0, 0, 0.707107, 0.707107 }
800: { 0, 0, 0, -1 }

Rotation in the examples above looks like this:
0 - 0 degrees
200 - 90 degrees
400 - 180 degrees
600 - 270 degrees
800 - 360/0 degrees

As you can see, rotations need to have a key every 90 degrees or less. These examples use a global sequence with a duration of 800 frames, but you should change it depending on how fast you want the emitter to rotate.


Thank you both for the solution. Thread solved.
 
Status
Not open for further replies.
Top