User Tools

Site Tools


attribute_examples

Examples

Lightpoint Man

Select some man unarmed class entity like Competitor and open it’s attributes.

  • Expand the Emitter 3Ditor section and check the Use object as emitter box.
  • Select emitter count 4.
  • For the first emitter select Emitter type lightpoint, then the Effect type Chemlight_Blue and Model selection leftfoot.
  • For the second emitter select Emitter type lightpoint, Effect type Chemlight_Green and Model selection lefthand.
  • For the third emitter select Emitter type lightpoint, Effect type Chemlight_Red and Model selection rightfoot.
  • For the fourth emitter select Emitter type lightpoint, Effect type Chemlight_Yellow and Model selection righthand.
  • Press OK.
  • Then from the Eden editor’s Intel change the time so that it is dark.

Now you should see the lights glow on the entity on those selected positions, something like this:

The emitter icons will appear on the center/feet of the entity model regardless of selected selections. If you drag the entity around you will see that the lights nicely follow along.
Press Play Scenario and run around, the lights should follow the characters movements.

If you would export the scenario and play it it would do the same there. You can try that if you wish, save and export the scenario into SP scenarios, exit the editor and load the scenario from the scenarios list and play.
The same process works for particles, of course.

If you check the Use default emitter set box you will see that most of the attributes get disabled and the Link model selections and link die out get checked. The default set will appear as one, with the possibility for one model selection and one die out value, because it is a set.
You can name the individual emitters in the set though.
It also overrides any previous emitter attributes you have selected for the entity.

So, on that same entity as we did the lights (or just pick another one) check the Use default emitter set box and select some selection from the selection list. You can see how all the disabled attributes will also have the same selected selection in their selection list. This is because of the Link model selections is checked automatically.

Press OK.

NOTE that every time you change something the change has to be processed which causes a coffee mug progress indicator to show up.

Now you should see the previously mentioned warning about damage. Just click Continue and the emitter icon set is created at the feet of the soldier and the particles appear on the selection on the soldier model.

Press Play Scenario and you can see your guy is on fire and “he” soon perishes.

To remove the emitters open the attributes and un-check Use object as emitter(( and press OK, or you can delete them by selecting the emitter object (the “? in a box”) and pressing DELETE on your keyboard.
The default set behaves as one single emitter in this regard as well, so the whole set gets deleted.

===== Die out =====
To see how the Die out attribute works, set some entity to use the default emitter set as described above.
Try some wreck, like a boat wreck for example as it allows you to see the effects nicely.
Then type into the
Die out attribute field the number 5.

Press
OK.

You can place down a player entity to watch the flames with if you don’t have one placed already.
Press
Play Scenario and once the preview has started after five seconds (roughly, it takes some moments for the scenario to init) you will see the particles disappear.

===== Follow objectHide =====

Using the same entity as with the above example, give the entity some name, like foo.
Set the
Die out back to 0, check the Follow objectHide box, and press OK.
If you didn’t place down player entity previously, do it now.
Press
Play Scenario.

Open the debug console (ESC) and type in the Execute window:
<code>
[] spawn {
while {true} do {
sleep 3;
foo hideObject true;
sleep 3;
foo hideObject false;
};
};
</code>

Press Local Exec (or ENTER), then press ESC.
You can observe the boat disappearing and appearing back in 3 second intervals and the effect going out and starting up again with the boats hiding status.

So, for example when dynamic simulation hides the entity the particles also disappear, or if you hide the entity for any reason during your scenario, so no need to worry about that.

Of course the downside is that this spawns a looping script for each entity this is used on because there is no eventhandler to check if entity was hidden/shown…



===== Using a trigger =====
In addition to
Follow objectHide there’s another way you can control when the attribute emitter effects appear/disappear. This done with a trigger.

All you need to do is sync a trigger with the emitter (not the entity!) and the emitters will start emitting when that trigger is activated and stop emitting when it’s deactivated.

NOTE that the regular Eden Sync does NOT work with this, you have to use a method specific to this tool.


This sync is done by selecting the emitter you want to sync with the trigger, then hovering over the trigger (so that it “lights” up) and pressing SHIFT + ALT + S.

NOTE that if you change something other than the name of emitter(s) via the attributes after you have synced a trigger to the emitter(s) the sync will be lost so you need to sync the trigger again.



In case of emitter sets such as the default emitter set used in these examples you only need to select one of the emitters in the set and sync that with the trigger using SHIFT + ALT + S.

==== Some examples ====
=== Simple ===
Place a player entity.
Then place for example two BMP2 wrecks side by side with some space in between them and set them to emit
CMeasures3. Or, set one BMP, set it to emit Cmeasures3 and clone it by selecting either the BMP or the emitter and pressing SHIFT + ALT + C.

Place a 10x10x10 trigger about halfway between the two wrecks, then select the first wreck’s emitter, hover over the trigger and press SHIFT + ALT + S. Then do the same for the other wreck’s emitter.
The trigger’s visible name (text) changes to indicate it is now an activator for the emitters. You can not change this text, it’s “hard coded”.

Set player as trigger owner (and make sure play is out of the trigger’s area).

Press
Play Scenario.
As you can see, wrecks don’t emit anything.
Start walking between the wrecks and as you trigger the trigger both wrecks start emitting. Yay.

Return to Eden.
In the trigger attributes check the
Repeatable box, press OK.
Press
Play Scenario.

As previously, walk between the wrecks, emitters start emitting when you enter the trigger but now they also stop emitting when you exit the trigger. You can walk in and out of the trigger as many times as you like to see this effect.

=== A bit more complex(ish) ===
Remove the BMP wrecks and the trigger.
Make sure the player entity has handgrenades.

Place for example an empty Hunter.
In it’s attributes write on the init field:
<code>this addEventHandler [“Explosion”, {mynade = true}]</code>

Then set it to emit two particle emitters, first one’s class to
BigDestructionFire and the second one’s class to BigDestructionSmoke. Press OK.

Then place a trigger (size doesn’t matter).
In it’s condition field write:
<code>missionNamespace getVariable [“mynade”, false]</code>
Press
OK and SHIFT + ALT + S the emitter with the trigger.

Press
Play Scenario and throw the grenade at the hunter, make sure it lands close enough to trigger the “Explosion” eventhandler. Once the nade has exploded the flames and smoke erupt.

Another one in the same vein, silly Twin Peaks-esque, but anyhoo:
Remove the hunter and the trigger. Place down some man class entity that doesn’t have a weapon as target for you.

In that entity’s attributes set it’s name to nmeloon and set it to emit 1 emitter.
Set the emitter to emit class ObjectDestructionRefractSmall (refract is the heat haze effect) and select selection Spine2.
Press
OK.
You can see how the entity is all hazy now.

Place a trigger, in it’s condition field write:
<code>!alive nmeloon</code>
Set it’s timeout to min 1, mid 2, max 3.
SHIFT + ALT + S the emitter with it.

Press
Play Scenario and shoot the entity in the face.
It drops dead and starts refracting.

=== Let’s do one more ===
Remove the previous example stuff except the player entity.

Place down a metal barrel (not burning one).
In its init write:
<code>this addEventHandler [“hit”, {if (player in _this) then {flameon=true}}]</code>

Set it to emit three particle emitters; first two to BigDestructionFire and BigDestructionSmoke.
Set the third to emit SecondaryExp and put in it’s
die out field 0.1

This makes the emitter die fast enough to spurt out only a short burst of flames (otherwise it will loop like in the editor).

By this point you probably think “well this sucks, can’t see anything now because of the particles.”
No need to worry, pressing SHIFT + ALT + D disables all the emitters in the scenario in the editor. They still emit normally when previewing but will not emit in the editor until you press SHIFT + ALT+ D again.
With CTRL + ALT + D you can disable/enable selected emitters. Disabled emitters names turn red in 3D and on the map.

Anyways, then place two men next to the barrel and set both to emit the default emitter set on selection spine3.
(Note that unarmored men like Competitor die faster).

Place down a trigger and sync all the emitters with it, in the trigger’s init field write:
<code>missionNamespace getVariable [“flameon”, false]</code>

Play Scenario** and shoot at the barrel. It erupts in flames and so do the two men next to it.

attribute_examples.txt · Last modified: 2021/11/28 07:49 by hneg