This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
more_dts [2021/12/06 10:20] – [Grouping Emitters] hneg | more_dts [2021/12/06 12:08] (current) – ["Importing" Parameters] hneg | ||
---|---|---|---|
Line 89: | Line 89: | ||
To de-group an emitter from a set, select the emitter you wish to de-group, hover the mouse cursor over an empty area and press ``CTRL + ALT + G``. | To de-group an emitter from a set, select the emitter you wish to de-group, hover the mouse cursor over an empty area and press ``CTRL + ALT + G``. | ||
===== Cloning Emitters ===== | ===== Cloning Emitters ===== | ||
+ | The emitters can not be copy/pasted like regular Eden entities, instead you can clone them using either the **// | ||
+ | To clone, select the emitter/ | ||
+ | <WRAP important> | ||
+ | Selecting any emitter from set and cloning will clone the whole set. | ||
+ | |||
+ | If you wish to make a copy of an entity with [[attributes|attribute emitters]] you can not copy/paste it the regular way either, you have to select (one of) the attribute emitter(s) and press the **// | ||
+ | This will clone both the entity and the emitters. | ||
+ | <WRAP important> | ||
===== Rotation Widget ===== | ===== Rotation Widget ===== | ||
+ | There is a " | ||
+ | You can change the particle emitters move velocity param by rotating the emitter with the Eden //Rotation Widget//. | ||
- | ===== Selecting Terrain Objects ===== | + | You can test this: place a particle emitter, select the // |
+ | Not sure if this is of any use since to be perfect it should also modify all other params related to particle movement direction but that’s way waaaaaayyyy of my skill set. | ||
+ | |||
+ | Since game version 2.06 (and this tool version 1.026) you can adjust the orientation of a [[led_ui# | ||
+ | ===== Selecting Terrain Objects ===== | ||
+ | As shown in the examples you can highlight and select terrain objects by holding down the ``T`` key on your keyboard and moving the mouse cursor over terrain objects. The terrain object highlight mode is indicated by a folded map type of icon over the navigation widget: | ||
+ | {{ : | ||
+ | * Buildings/ | ||
+ | * Buildings/ | ||
+ | * Vegetation is highlighted **green** | ||
+ | | ||
+ | To select the highlighted terrain object press right mouse button, you will hear a sound play and the highlight color turns to blue. | ||
+ | To deselect a terrain object, press (and release) ``T``. | ||
+ | To start highlighting terrain objects again hold down ``T`` and move the mouse cursor around. | ||
===== Attaching Emitters ===== | ===== Attaching Emitters ===== | ||
+ | As demonstrated in the examples there are four (4) ways to attach emitters to entities and terrain objects. Three of them have attach modes referred as **//Basic attach//**, **// | ||
+ | The fourth is a keyboard shortcut only feature working paired with dragging emitters with Eden //Surface Snapping// **//on//**. | ||
+ | As demonstrated in the examples the attach mode is selected with the attach mode selection button: | ||
+ | {{: | ||
+ | By pressing the button or ``SHIFT + A`` you can " | ||
+ | |||
+ | ==== Normal Attach ==== | ||
+ | {{: | ||
+ | This is basically the same as ??obj1 attachTo obj2?? so it just attaches the emitter to the selected objects position in model space. You can not move the attached emitter by dragging it, it will stay attached to the object. | ||
+ | |||
+ | However, with terrain objects you can move it because there is no reason for "real attach" | ||
+ | |||
+ | To attach the emitter to an Eden entity, select the emitter/ | ||
+ | |||
+ | To attach the emitter to a terrain object first select the terrain object by holding down ``T`` and selecting the desired object as explained earlier in [[more_dts# | ||
+ | To detach from an entity, select the emitter attached to the entity, move mouse cursor to an empty area and press ``ALT + A`` (or delete the pink " | ||
+ | |||
+ | ==== Selection Attach ==== | ||
+ | {{: | ||
+ | Does what it says on the tin, attaches the emitter to the selected model selection. On terrain objects building positions are also included. | ||
+ | Obviously it’s not possible to attach to an entity/ | ||
+ | |||
+ | From Eden entities it is quite impossible to know beforehand whether it has selections or not, but Props are most probable ones with no selections, all moving objects have plenty. | ||
+ | Terrain objects have a color " | ||
+ | |||
+ | To attach an emitter to entitys model selection select the emitter/ | ||
+ | You will hear the attach sound play and a new dialog open up on the tool UI: | ||
+ | {{: | ||
+ | You will also see the emitter connect to the entity with a red line. | ||
+ | |||
+ | UI is quite self-explanatory: | ||
+ | |||
+ | By default selections listed on the list are selections that are not at the position of the object (in model space) because it’s a bit pointless as it would the same to use the **//Basic attach//** mode then. By checking the box //Show all selections// | ||
+ | When using //Show all selections// | ||
+ | <WRAP important> | ||
+ | To detach the emitter from the selection: select the emitter, hover mouse cursor over empty area and press ``ALT + A`` (or delete the pink " | ||
+ | |||
+ | To attach an emitter/ | ||
+ | <WRAP important> | ||
+ | The same dialog opens as with Eden entities: | ||
+ | {{: | ||
+ | As with the entity selections the selections that are at the object position (in model space) are excluded by default. To include the excluded selections check the box //Show all selections// | ||
+ | |||
+ | To detach emitter from terrain object selection: just drag the emitter away from the object. | ||
+ | |||
+ | ==== Global Attach ==== | ||
+ | {{: | ||
+ | With this you can attach the emitter on any objects surface at any position. This can be a tad annoying to use because the object surface detection is checked from many directions so which ever, the cursor or the emitter itself, collides with the surface there' | ||
+ | Does not work properly on " | ||
+ | Active **//Global attach//** is indicated by a globe icon over the navigation widget: | ||
+ | {{ : | ||
+ | To attach an emitter to the an entity: select the emitter, select global attach mode, hover over the entity and press ``ALT + A``. | ||
+ | You will hear an attach sound play, and the emitter/ | ||
+ | {{ : | ||
+ | NOTE that the object surface detection is multi-sided so in some camera-angle-to-the-object situations the tool will decide the emitter is not over an object surface even though it looks it is. | ||
+ | |||
+ | <wrap important> | ||
+ | This works also inside buildings so you can attach emitters to building inside ceiling, walls etc. | ||
+ | <WRAP important> | ||
+ | <WRAP important> | ||
+ | |||
+ | ==== SHIFT + ALT + A " | ||
+ | This keybind attaches the emitters dragged over an Eden entity with the Eden //Surface snapping// and the tools //Surface Snapping slavery// **//on//** (this ' | ||
+ | |||
+ | This is very similar to the **//Global attach//** mode, the key differences are that this is of course done via dragging the emitters to the desired spot on the entity instead of the emitters following the camera aim, and unlike with **//Global attach//** this works on the outside surfaces of the entity only. | ||
+ | |||
+ | So, to reiterate: drag some emitter onto an Eden entity and press ``SHIFT + ALT + A`` and the emitter will be attached to that spot on the entity. | ||
+ | |||
+ | |||
+ | ==== Attach Finesse ==== | ||
+ | Emitters attached to an entity with any of the attach methods, except Selection Attach, can have their positioning fine-tuned in two ways: | ||
+ | - Adjusting the values in the Position field. Note that the values are in model space. | ||
+ | - Adjusting the emitter' | ||
+ | {{ : | ||
===== Trigger Sync ===== | ===== Trigger Sync ===== | ||
+ | Like already touched on in the various examples this allows for a control over when emitter emits via a trigger synced to the emitter. | ||
+ | <WRAP important> | ||
+ | The sync works so that when synced to a trigger the emitter will not start emitting in-game until the trigger is activated, and if the trigger is set to // | ||
+ | |||
+ | To sync an emitter to a trigger: select the emitter/ | ||
+ | {{ : | ||
+ | <WRAP important> | ||
+ | To de-sync emitter from the trigger: select emitter, hover mouse cursor over empty area and press ``SHIFT + ALT + S`` (or delete the blue "sync line" | ||
===== Importing BI Fire/Smoke Modules ===== | ===== Importing BI Fire/Smoke Modules ===== | ||
+ | This is done by pressing the **//Import Modules//** button that can be found under the [[ped_ui# | ||
+ | What it does it imports any BI fire or smoke effect modules present in the scenario into the tool. | ||
+ | <WRAP important> | ||
+ | If the module has a name the name will be adopted for the created emitter, if not the emitter will get a default // | ||
+ | |||
+ | When loading a scenario with the modules into Eden the tool will give you a prompt asking if you wish to import the modules: | ||
+ | {{: | ||
+ | If you check the // | ||
===== Die Out ===== | ===== Die Out ===== | ||
+ | This can be found under the [[ped_ui# | ||
+ | As explained in the examples this is timer in seconds after which the selected emitter/ | ||
+ | The timer starts from the moment the emitter starts to emit in-game. | ||
+ | <WRAP important> | ||
+ | |||
+ | NOTE that this will start a looping script for the emitter, and in an emitter set for each individual emitter.</ | ||
===== Follow objectHide ===== | ===== Follow objectHide ===== | ||
+ | This can be found under the [[ped_ui# | ||
- | ===== Diagnostics ===== | + | Does what it says on the tin, makes the selected emitter/ |
+ | Meaning if the object is hidden with ??obj hideObject true?? in-game the emitter will also " | ||
+ | <WRAP alert> | ||
+ | Ie. if you have 50 emitters attached to one object there’s still only one spawned script. But still optional as it might raise a performance concern if forced on each object by default, if you have 50 objects with attached emitters it would mean 50 scripts... | ||
+ | The loop is " | ||
+ | <WRAP important> | ||
+ | |||
+ | Why a looping script? Because there is no eventhandler to detect if object is hidden or not.</ | ||
+ | <WRAP important> | ||
+ | ===== Diagnostics ===== | ||
+ | When running the [[url|diagnostic.exe]] of the game the particle related diagnostic switches are available in the [[ped_ui# | ||
+ | * **// | ||
+ | * **// | ||
===== Data Validation ===== | ===== Data Validation ===== | ||
+ | The parameter fields on the tool UI all except the menus have a data validation system " | ||
+ | When you insert some value into a parameter field the field and the data in it will turn briefly to yellow which indicates the data is being validated: | ||
+ | {{: | ||
+ | Once it validates it turns back to white. | ||
+ | <WRAP important> | ||
+ | If it doesn’t validate it turns red: | ||
+ | {{: | ||
+ | Also a notification is shown on the top of the screen which can vary: usually you will get " | ||
+ | When using some global variable that doesn' | ||
+ | |||
+ | The param field stays red for annoyingly long time to remind you what you just did and then turns back to white and fills the field with either its default data or last successfully validated data. | ||
+ | |||
+ | Some faulty data is so faulty that the game can't continue with it and a visible scripting error is shown and the validation for that field can break down (stays yellow or red). That I can't do anything about because there is no way to detect scripting errors, so you just have to be careful.. | ||
+ | <WRAP important> | ||
===== " | ===== " | ||
+ | As mentioned in the Export/ | ||
+ | |||
+ | Meaning that you can paste emitter parameters into the " | ||
+ | <WRAP important> | ||
+ | |||
+ | Obviously each parameter " | ||
+ | * parameters for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameter for [[https:// | ||
+ | |||
+ | And for lights | ||
+ | * parameters for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameter for [[https:// | ||
+ | * parameter for [[https:// | ||
+ | * parameter for [[https:// | ||
+ | * parameter for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameter for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | * parameters for [[https:// | ||
+ | |||
+ | This works the same for both particle and light emitters. Let’s say you have something like this in your script: | ||
+ | < | ||
+ | [" | ||
+ | "", | ||
+ | " | ||
+ | 1, | ||
+ | 0.5, | ||
+ | [0, 0, 0], | ||
+ | [0, 0, 0], | ||
+ | 1, | ||
+ | 1.23, | ||
+ | 1, | ||
+ | 0.2, | ||
+ | [0.6, 1.8, 2.5], | ||
+ | [[0.5, 0.5, 0.5, 0.14],[0.6, 0.6, 0.6, 0.06],[0.7, 0.7, 0.7, 0.02],[0.8, 0.8, 0.8, 0.006], | ||
+ | [5], | ||
+ | 0.1, | ||
+ | 0.1, | ||
+ | "", | ||
+ | "", | ||
+ | "", | ||
+ | 0, | ||
+ | false, | ||
+ | 0, | ||
+ | [[0, 0, 0, 0]] | ||
+ | ]; | ||
+ | |||
+ | _p setParticleRandom [ | ||
+ | 0.2, | ||
+ | [0.08, 0.08, 0.08], | ||
+ | [0.3, 0.3, 0.3], | ||
+ | 20, | ||
+ | 0.15, | ||
+ | [0, 0, 0, 0], | ||
+ | 0, | ||
+ | 0, | ||
+ | 1, | ||
+ | 0 | ||
+ | ]; | ||
+ | |||
+ | _p setDropInterval 0.0035;</ | ||
+ | |||
+ | To " | ||
+ | There is already data because the placed emitter by default has some parameters. So wipe those off first (press the **// | ||
+ | <WRAP important> | ||
+ | Then copy paste the parameters only, as in the value after the scripting command (array or number), on their respective fields on the tool and once done press the **//Paste Params//** button. The " | ||
+ | In case of this example the " | ||
+ | {{: | ||
+ | |||
+ | It’s exactly the same method for lights, with the only exception of the export/ | ||
+ | <WRAP important> | ||
+ | - Change setLightBrightness into setLightIntensity and multiply the value with 3000 (brightness x 3000 = intensity) | ||
+ | - just paste the brightness value into the Intensity field and hold down ``CTRL`` while pressing the **// | ||
+ | </ |