It would be nice to know what kind of validators you made for the Random Rising Particles. (I suck at validators to even begin to guess what you made there)
Hmm, which validators? I don't think I used any validators for the red rising particle effect.
The key point in the second ability is that you can attach actors to random effect points. So here, the randomness is partially driven by a periodic effect. It combines a random effect attachment with a random actor attachment.
If you just want the key data properties related to the concept, they are highlighted in light green :]
Behaviors or abilities create the peristents, I'll try to clarify that some more.
hm how do i get random colored beams/particles? the pass chance only works once per actor
I know through triggers you can send an actor message for changing tint color based off a random integer fairly easily. You could make the trigger for changing color occur whenever your actor is created or some effect occurs. Through pure data, I'm not sure I'll try and look that up.
Update: If you want pure data, you can do this using ValidateEffect terms on the actor event for (Actor Creation -> Set Tint Color). Create a behavior called 'color picker' which periodically (with very short period interval) uses a periodic effect. The periodic effect will be a 'Set' effect with multiple 'apply behavior' effects, limit the set to a maximum of 1 random effect. Then, in your beam / particle call the ValidateEffect on each color, which corresponds to a color behavior. The actual validators will check the 'caster' for whether or not each color behavior is active. Make sense?
This tutorial explains how to create randomized actor effects. These actor techniques reduce the need to carefully create 'random offsets' in persistent effects or tons of sites and site operations. In this tutorial, basic data editing knowledge is assumed (intermediate level or advanced). We discuss several examples of how to randomize actors:
Randomized offsets
Matching actor offsets to effects
Randomizing actor event chance
Randomizing offsets in addition to site movers
Key points will be highlighted like this
Videos
Random Actor Effects in Power Level Overwhelming
Watch for:
1) Random Powerup Beams
2) Random Lightning Field
3) Random Battle Cry Red Particles
(The video is also available in high def if you click through)
Cow-pocalypse
The main thing here: just notice that when the cows fall, the 'Moooo' sound only plays periodically. This video is not the main point of the tutorial, just to show a simple point.
Random Powerup Beams (Powerup Overwhelming Cinematic)
1. New Persistent Effect - Power Overwhelming Cinematic Lightning Strike (Persistent)
Set Effect - Period Count = 1
Set Effect - Period Durations = (.7500)
Set Target - Location + = (None): Source Unit
This effect will trigger the creation of an individual beam actor.
2. New Persistent Effect - Power Overwhelming Cinematic (Persistent)
Set Effect - Flags: Random Period
Set Effect - Period Count = 100
Set Effect - Period Durations = (0.7000|0.2500|0.3500|0.2500|0.4000|0.0500|0.0100|0.2500|0.2500|0.2500|0.0100|0.0100)
Set Effect - Period Effects = (Power Overwhelming Cinematic Lighting Strike (Persistent))
Set Effect - Periodic Validator IsPowerOverwhelmingCinematic
This effect randomizes the creation interval between each beam. Each duration in the list effects how beam creation is distributed over time. The period count is set high enough so the beams continue to be created until 'IsPowerOverwhelmingCinematic' returns false.
3. New Model - Power Overwhelming Cinematic Strike
Set Model = Assets\Effects\Zerg\HybridEnergizeBeam\HybridEnergizeBeam.m3
4. New Actor Site Operation - Power Overwhelming Cinematic Strike Variance (Site Offset)
Set Actor - Radius = 8.0000
Offsets will be uniformly distributed (default) within a radius of 8 from a central point. There are also different distributions such as Gaussian.
5. New Actor Beam (Simple) - Power Overwhelming Cinematic Strike (Beam)
Set Art - Model = Power Overwhelming Cinematic Strike
Set Hosting - Host Impact + _Unit:Scope Source:Implicit:(None):Disabled
We are using the model defined above for the beam (hybrid beam). The Cinematic effects we created above originate from a behavior which is applied to the unit powering up. Therefore, the host impact _unit we want is the source. The beams are attached to the host for the launch and impact sites (essentially a beam from the caster to itself). However, the target point is offset by the random variancer we created above in step 4. This basically makes it look like beams are flying out from the source unit. I also added sound effects whenever a beam is created, but that is covered in other actor/sound tutorials.
You'll also notice I'm pumping up the HDR settings to make the beam look orange / glowy. In addition, the beam is destroyed within .65 seconds using a timer.//
Random Lightning Beams (Unstable Power Field)
1. New Persistent Effect - Unstable Power Cinematic Lightning Strike (Persistent)
Set Effect - Period Count = 1
Set Effect - Period Durations = (0.7500)
Set Target - Location + = (None):Source Unit
This creates a dummy effect lasting .75 seconds at the source unit.
2. New Persistent Effect - Unstable Power Cinematic Lightning (Persistent)
Set Effect - Flags: Random Offset, Random Period
Set Effect - Period Count = 100
Set Effect - Period Durations = (0.0100|0.2500|0.0100|0.1500)
Set Effect - Period Effects = (Unstable Powerup Cinematic Lighting Strike (Persistant))
Set Effect - Periodic Offsets = ((5,5,1)|(-5,-5,0)|(-5,5,2)|(5,-5,0)|(3,3,3)|(3,-3,3)|(-3,3,3)|(-3,-3,3)|(-4,-6,7)|(4,4,7)|(1,-3,10)|(-4,2,4)|(-5,6,8)|(5,-6,0)|(-5,-6,0)|(5,6,7)|(2,2,0)|(-2,2,6)|(2,-2,0)|(-2,-2,1)|(3,-4,1)|(4,3,3))
Set Effect - Periodic Validator = IsUnstablePowerSource
Set Effect - Validators = (CasterHasUnstablePowerup)
The random offset flag will randomly select one of the periodic offsets. The period count is set to a sufficient number so that the effect will continue until the validator cancels it. Notice that we could have set the Target - Location + field in this effect to the Source Unit in effect #1 and still get the same behavior in this case.
3. New Site Operation (Random Point in Circle) - Unstable Power Cinematic Strike Variance (Site Offset)
Set Actor - Radius = 2.0000
Offsets will be uniformly distributed (default) within a radius of 2 from a central point. There are also different distributions such as Gaussian.
4. New Site Operation (Effect) - Unstable Power Source (Site Effect Offset)
Set Actor - Height Only = Disabled
Set Actor - Hold Position = Disabled
Set Actor - Hold Rotation = Disabled
Set Target - Location = Target Point
Offset will match the target point of an effect. This site operation will essentially create an attachment point at the location of one of our periodic offsets in effect #2. Key point - the target of the effect was set to the caster.
5. New Model - Unstable Power Cinematic Strike
Set Model = Assets\Effects\Zerg\HybridEnergizeBeam\HybridEnergizeBeam.m3
6. New Beam (Simple) Actor - Unstable Power Cinematic Strike (Beam)
Set Art - Model = Unstable Power Cinematic Strike
Set Hosting - Host Impact + = _Unit:Scope Source:Implicit:(None):Disabled
Set Hosting - Host Impact Site Ops + =
SOpAttachCenter
UnstablePowerSourceSiteEffectOffset
UnstablePowerCinematicStrikeVarianceSiteOffset
:Disabled:Disabled
Set Hosting - Host Launch + = _Unit:Scope Source:Implicit:(None):Disabled
Set Hosting - Host Launch Site Ops + =
UnstablePowerSourceSiteEffectOffset
:Disabled:Disabled
Set Event - Events +
ActorCreation -> AnimBracketStart BSD Birth Stand Death OpeningPlayForever
We are using the model defined above for the beam (hybrid beam). The Cinematic effects we created above originate from a behavior which is applied to the unit powering up. Therefore, the host impact _unit we want is the source. In the previous example, we attached beams to the source unit, now we are attaching beams to an effect location using the UnstablePowerSourceSiteEffectOffset for the host impact and host launch location. We then apply the same technique as in the first example - we create a random variance around the effect location in a circle to get a random arc effect. I also added sound effects whenever a beam is created, but that is covered in other actor/sound tutorials.
You'll also notice I'm pumping up the HDR settings to make the beam look glowy. In addition, the beam is destroyed within .65 seconds using a timer.
Random Rising Particles (Battle Cry)
1. New Persistent Effect - Battle Placebo Particle Dummy (Persistent)
Set Effect - Expire Delay = 0.5000
Set Target - Location + = (None):Caster Unit
2. New Persistent Effect - Battle Placebo Particle Maker (Persistent)
Set Effect - Flags: Random Period
Set Effect - Period Count = 500
Set Effect - Period Durations = (0.2000|0.1000|0.0500|0.0500|0.1000|0.0500)
Set Effect - Period Effects = (Battle Placebo Particle Dummy)
Set Effect - Periodic Validator = IsBattlePlacebo
Set Target - Location + = (None):Caster Unit
This effect controls how frequently the dummy particle effect is created. It shuts down the validator fails. Notice it sets the target location to the caster unit, so that particles are created around the caster.
3. New Model - Battle Placebo Particle
Set Model = Assets\Doodads\Shapes\ShapeOrb\ShapeOrb.m3
Nothing special here, just an orb. You could choose all kinds of neat models for the particle like a flame effect or explosions.
4. New Site Operation (Random Point in Circle) Actor - Battle Placebo Particle Variance (Site Offset)
Set Actor - Radius = 1.0000
Offsets will be uniformly distributed (default) within a radius of 1 from a central point. There are also different distributions such as Gaussian.
5. New Site (Mover) Actor - Battle Placebo Particle (Site Mover)
Set Event - Events + =
ActorCreation -> RefSetFromMsg ::Host ::Sender
Target: ::Creator
ActorCreation -> MoverSetDestinationH 5.000000
ActorCreation -> MoverMove
ActorOrphan -> Destroy
ActorCreation -> SetHeight = 0
Set Hosting - Host + = _Unit:Scope Caster:Implicit:(None):Disabled
Set Hosting - Host Site Operations + =
BattlePlaceboParticleVarianceSiteOffset
:Disabled:Disabled
Set Movement - Acceleration = 5.0000
Set Movement - Deceleration = 0.0000
Set Movement - Speed = 5.0000
Set Movement - Speed Maximum = 5.0000
The key thing here is in Events+ - the site actor basically replaces the creator's site with itself. You also need to tell the mover to start moving (MoverMove) when it is creating and where to move to (MoveSetDestinationH). Finally, notice I am setting the height to 0 when the mover is created so that it rises from the ground.
6. New Model Actor - Battle Placebo Particle
Inherit from ModelAnimationStyleContinuous
Set Actor - Fog Visibility = Hidden
Set Art - Scale = (0.200000)
Set Event - Events + =
ActorCreation -> AnimBracketStart BSD Birth Stand Death
Set Hosting - Host + = _Unit:Scope Caster:Implicit:(None):Disabled
Set Properties - Inherited Properties: Cast Shadows, Cloak Effect, Opacity, Physics State, Team Color
The particles are scaled way down in size using 'Art - Scale'. Notice in 'Events +' we are fading the particles at 1/2 their life span to make the effect look natural. The particles are also set to red with high HDR setting for a glowing effect. Mosty importantly, when the particle is created, it makes a mover - 'BattlePlaceboParticleSiteMover', which handles making the particle rise in the correct location. Notice in the video the red particles hold position, but originate from the caster which also contributes to the effect.
This tutorial has shown how to create random actor offsets from a source unit, effect location, and with movers. In addition, we showed how to create actors with a % chance.
Hmm, which validators? I don't think I used any validators for the red rising particle effect.
@Nahotnoj: Go
It's in your screenshot :]
Type "::Creator" in the "Target:" text field towards the upper right.
@SouLCarveRR: Go
The key point in the second ability is that you can attach actors to random effect points. So here, the randomness is partially driven by a periodic effect. It combines a random effect attachment with a random actor attachment.
If you just want the key data properties related to the concept, they are highlighted in light green :]
Behaviors or abilities create the peristents, I'll try to clarify that some more.
I know through triggers you can send an actor message for changing tint color based off a random integer fairly easily. You could make the trigger for changing color occur whenever your actor is created or some effect occurs. Through pure data, I'm not sure I'll try and look that up.
Update: If you want pure data, you can do this using ValidateEffect terms on the actor event for (Actor Creation -> Set Tint Color). Create a behavior called 'color picker' which periodically (with very short period interval) uses a periodic effect. The periodic effect will be a 'Set' effect with multiple 'apply behavior' effects, limit the set to a maximum of 1 random effect. Then, in your beam / particle call the ValidateEffect on each color, which corresponds to a color behavior. The actual validators will check the 'caster' for whether or not each color behavior is active. Make sense?
Tutorial is basically complete now, may add some more color in the future. Any questions, please let me know and I can add information.
Introduction
This tutorial explains how to create randomized actor effects. These actor techniques reduce the need to carefully create 'random offsets' in persistent effects or tons of sites and site operations. In this tutorial, basic data editing knowledge is assumed (intermediate level or advanced). We discuss several examples of how to randomize actors:
Key points will be highlighted like this
Videos
Random Actor Effects in Power Level Overwhelming
Watch for: 1) Random Powerup Beams
2) Random Lightning Field
3) Random Battle Cry Red Particles
(The video is also available in high def if you click through)
Cow-pocalypse
The main thing here: just notice that when the cows fall, the 'Moooo' sound only plays periodically. This video is not the main point of the tutorial, just to show a simple point.
Random Powerup Beams (Powerup Overwhelming Cinematic)
1. New Persistent Effect - Power Overwhelming Cinematic Lightning Strike (Persistent)
This effect will trigger the creation of an individual beam actor.
2. New Persistent Effect - Power Overwhelming Cinematic (Persistent)
This effect randomizes the creation interval between each beam. Each duration in the list effects how beam creation is distributed over time. The period count is set high enough so the beams continue to be created until 'IsPowerOverwhelmingCinematic' returns false.
3. New Model - Power Overwhelming Cinematic Strike
4. New Actor Site Operation - Power Overwhelming Cinematic Strike Variance (Site Offset)
Offsets will be uniformly distributed (default) within a radius of 8 from a central point. There are also different distributions such as Gaussian.
5. New Actor Beam (Simple) - Power Overwhelming Cinematic Strike (Beam)
We are using the model defined above for the beam (hybrid beam). The Cinematic effects we created above originate from a behavior which is applied to the unit powering up. Therefore, the host impact _unit we want is the source. The beams are attached to the host for the launch and impact sites (essentially a beam from the caster to itself). However, the target point is offset by the random variancer we created above in step 4. This basically makes it look like beams are flying out from the source unit. I also added sound effects whenever a beam is created, but that is covered in other actor/sound tutorials.
You'll also notice I'm pumping up the HDR settings to make the beam look orange / glowy. In addition, the beam is destroyed within .65 seconds using a timer.//
Random Lightning Beams (Unstable Power Field)
1. New Persistent Effect - Unstable Power Cinematic Lightning Strike (Persistent)
This creates a dummy effect lasting .75 seconds at the source unit.
2. New Persistent Effect - Unstable Power Cinematic Lightning (Persistent)
The random offset flag will randomly select one of the periodic offsets. The period count is set to a sufficient number so that the effect will continue until the validator cancels it. Notice that we could have set the Target - Location + field in this effect to the Source Unit in effect #1 and still get the same behavior in this case.
3. New Site Operation (Random Point in Circle) - Unstable Power Cinematic Strike Variance (Site Offset)
Offsets will be uniformly distributed (default) within a radius of 2 from a central point. There are also different distributions such as Gaussian.
4. New Site Operation (Effect) - Unstable Power Source (Site Effect Offset)
Offset will match the target point of an effect. This site operation will essentially create an attachment point at the location of one of our periodic offsets in effect #2. Key point - the target of the effect was set to the caster.
5. New Model - Unstable Power Cinematic Strike
6. New Beam (Simple) Actor - Unstable Power Cinematic Strike (Beam)
We are using the model defined above for the beam (hybrid beam). The Cinematic effects we created above originate from a behavior which is applied to the unit powering up. Therefore, the host impact _unit we want is the source. In the previous example, we attached beams to the source unit, now we are attaching beams to an effect location using the UnstablePowerSourceSiteEffectOffset for the host impact and host launch location. We then apply the same technique as in the first example - we create a random variance around the effect location in a circle to get a random arc effect. I also added sound effects whenever a beam is created, but that is covered in other actor/sound tutorials.
You'll also notice I'm pumping up the HDR settings to make the beam look glowy. In addition, the beam is destroyed within .65 seconds using a timer.
Random Rising Particles (Battle Cry)
1. New Persistent Effect - Battle Placebo Particle Dummy (Persistent)
2. New Persistent Effect - Battle Placebo Particle Maker (Persistent)
This effect controls how frequently the dummy particle effect is created. It shuts down the validator fails. Notice it sets the target location to the caster unit, so that particles are created around the caster.
3. New Model - Battle Placebo Particle
Nothing special here, just an orb. You could choose all kinds of neat models for the particle like a flame effect or explosions.
4. New Site Operation (Random Point in Circle) Actor - Battle Placebo Particle Variance (Site Offset)
Offsets will be uniformly distributed (default) within a radius of 1 from a central point. There are also different distributions such as Gaussian.
5. New Site (Mover) Actor - Battle Placebo Particle (Site Mover)
The key thing here is in Events+ - the site actor basically replaces the creator's site with itself. You also need to tell the mover to start moving (MoverMove) when it is creating and where to move to (MoveSetDestinationH). Finally, notice I am setting the height to 0 when the mover is created so that it rises from the ground.
6. New Model Actor - Battle Placebo Particle
Inherit from ModelAnimationStyleContinuous
The particles are scaled way down in size using 'Art - Scale'. Notice in 'Events +' we are fading the particles at 1/2 their life span to make the effect look natural. The particles are also set to red with high HDR setting for a glowing effect. Mosty importantly, when the particle is created, it makes a mover - 'BattlePlaceboParticleSiteMover', which handles making the particle rise in the correct location. Notice in the video the red particles hold position, but originate from the caster which also contributes to the effect.
Random Chance for Actor Creation (Cow-pocalypse)
1. New Sound Actor - Cow-pocalypse Launch (Sound)
The PassChance 17 means that the sound will only play 17% of the time a cow is launched.
See Data - (Patch 1.2) Z Offset Projectiles, "It's raining cows" if you want to learn more about the cow-pocalypse effect.
Conclusion
This tutorial has shown how to create random actor offsets from a source unit, effect location, and with movers. In addition, we showed how to create actors with a % chance.