FTools: Editor

This module is intended both for setting the particle system parameters and creating of animation.

How to run

You can run it from main menu:

F-Tools.script -> start Editor

or from toolbar if you set it up:

start Editor

You can read how to set up the toolbar: FTools.script interface.

Reset Parameters (RP) Rollout

reset parameters

By default, 3DS MAX has a severe restriction – You cannot edit simultaneously the parameters of the multiply selected SuperSpray particle systems. Reset Parameters rollout serves to remove these restrictions.

RP is required for changing the parameters of selected SuperSpray particle systems. Most of them just copy all settings from standard SuperSpray particle systems. For more information, please refer to 3DS MAX help.

The utility works only with standard particle systems. We will use particle system meaning SuperSpray ones hereafter.


  • Get params – get the parameters of the first particle system in the selection and opens them for editing.
  • Set params – applies the entered parameter values to the selected particle systems
  • Auto update – if checked, Get params will be applied by default every time you select new particle systems, while Set params will be applied for all modified parameters on the form. If unchecked, Get params and Set params functions should be done manually.
  • Use Seed Randomize (!) – Check the box, if you want to apply by default a random SEED* value to each particle system selection. Be careful. This option reduces computer speed. Instead of it  is enough to click on S (see below) for selected particle systems.
  • S – forces random SEED* values for selected particle systems. (i.e. SEED* parameter is applied only once).
  • Get – update the max. height value for selected particle systems.

* SEED is a value influencing the random number counter when spraying the particles. Set random SEED values for each particle system, so they can be visually distinguished from each other, while giving more reality to your scene.


  • Speed multiply – value used to determine the difference between the highest and lowest water jets for the FENCE / HOUSE type in Fountain Builder.

Particle Formation

  • Axis_Spread – deflection from particle momentum vector (X-axis).
  • Plane_Spread – oXZ plane deflection around the momentum direction vector for particle system (Z-axis)

Particle Quantity

  • rate – this value determines the quantity of particles emitted from the system.
  • ‘checkbox’ – Uncheck the box, if you want RP to ignore this variable. In other words, RP won’t apply the specified parameter value to all selected particle systems.

Viewport Display

  • Dots/Ticks/Mesh – particle visualization technique for the scene viewer
  • viewPercent – amount of particles displayed in the scene viewer
  • Icon Size – size of icon for particle system displayed in the scene viewer
  • ‘checkbox’ hide – Check the hide box below the parameter, if you don’t want to display this icon on the screen.

Particle Motion

  • speed – initial emission velocity for particles
  • ‘checkbox’ – • Uncheck the box, if you want RP to ignore this variable. In other words, RP won’t apply the specified parameter value to all selected particle systems.
  • Variation – a random value affecting the initial emission velocity for each particle.

Particle Timing

  • Emitter_Start – life start time for a particle system
  • Emitter_Stop – life end time for a particle system
  • Display_Until – particle visualization end frame
  • Life – lifetime of particles
  • Variation – limit of frames, which can be used to vary the set life parameter for each particle.
  • [S..E] [S..C] [C..E] – sets start and end frames of particle lifespan. Respectively: [from the start to the end animation frame] [form the start to the current animation frame] [from the current to the end animation frame]
  • Creation time – activates subframes for particle generation
  • Emitter translation – makes the particle motion smooth by adding more frames.
  • Emitter Rotation – makes the particle rotation smoother

Particle Size

  • Size – specifies the particle size
  • Variation – particle size and size value deviation ratio
  • Grow_time – number of frames during which the particle will grow from 0 to the specified size.
  • Fade_Time – number of frames during which the particle will decrease from the specified size to 0 value.

Standard Particles

  • ‘dropdownlist’ – Use a drop-down list to select a visualization method at rendering.


  • Die after collision – if checked, the particle will fade away after hitting the deflector to which it is attached..


  • Save – saves parameters to your file
  • Load – uploads parameters from your file.
  • Del – deletes all previously saved files with parameters

Control Editor (CE) Rollout

Control Editor

It should be understood than animation, being generated in FTools.script, is based on key frames. Key frames, in their turn, are used both to animate jet dynamics and lighting.

There are two standard and most important SuperSpray parameters that are filled with key frames for dynamics animation. This Birth_Rate and Speed parameters are used to model the working valves of the real water nozzle and of the fountain speed controller respectively.

It is essential to understand this difference.

For example, Birth_Rate should be always set to 1 for a smooth animation of the dynamic fountain. Speed is the only value to vary here, i.e. we use just the speed controller.

кольцо наклонных струй фонтана

Music fountain is another example. Music fountains widely use the valves. Speed controllers are not available with them. So the valves are use alone to generate a «running wave» pattern (Birth_Rate alternates from 1 to  0). while the pumps are operating statically (i.e. Speed is always 1).



Copy/Paste function allows to copy and then paste the animation keys for birth rate (B), particle speed (S) and object id (O), which is used to create an animated lighting of fountain streams.

copy/paste options


  • B – Copy_Birth_Rate_Keys on/off
  • S – Copy_Speed_Keys on/off
  • O – Copy_Object_ID_Keys on/off
  • [COPY] – copy the keys according to the settings
  • [PASTE] – insert the keys according to the settings
  • […] – copy/paste settings
    • Copy only first in selection – if it is known that all selected particle systems have a similar set of key frames, then you should better check the box in order to simplify (optimize) algorithm calculation.
    • Copy only selected keys in selection – if checked, you will copy just the key frames within the selection as indicated. Otherwise, all key frames will be copied.
    • Copy/paste informer – if checked, you will see a dialog with key frame statistics every time you use COPY/PAST command.
    • Absolute Pasting – check this box, if you want the key frames to be pasted exactly on the same points of the timescale.
    • Relative Pasting (from current frame) – use this property to insert the key frames with some shift, where the current frame will be the first in a row.
    • Delete all old keys when pasting (override overwise) – indicates that all key frames must be deleted before pasting.
    • Deselect old keys (after pasting) – deselects the keys after PASTE is done.
    • Select new keys (after pasting) – indicates that new key frames must be selected after PASTE is done.
    • Test key range (before pasting) – if checked, the program will inform the user about the new frames overlapping the old ones.
    • Show at the next – if checked, a dialog box with settings will pop up every time before executing Copy/Paste.

Emitter Start/Stop

Use these settings to change particle system rendering in your scene. If properly used,  you will benefit from saving your machine resources for the computer will calculate the animation only in set range, neither will it render the scene in the viewport. (parameters influence the way that particles are seen both in the viewport and the renderer)

  • < — copy the current frame number to the «start» field
  • > — copy the current frame number to the «end» field
  • S..E – «start» field = start frame, «end» field  = end frame
  • S..C – «start» field = start frame, «end» field  = current frame
  • S..E – «start» field = current frame, «end» field  = end frame
  • Reset – resets the start and end frame values for rendering of selected particle systems to those values as they are specified in the «start» and «end» fields.


  • BirthRate – if pressed, the action will be applied to birth rate keys (valve animation).
  • Speed — if pressed, the action will be applied to speed kyes (i.e. speed controller animation).
  • Obj_ID — if pressed, the action will be applied to Object_ID modifier keys (i.e. lighting animation).
  • ClearAll – deletes all animation keys (for birth rate and/or speed and/or lighting animation)
  • Cl.Range – deletes all animation keys within a specified range (for birth rate and/or speed and/or lighting animation). Start and end range frames are taken correspondingly from the left and right numeric field in «Emitter Start/Stop» group.
  • Reset – can be applied just to birth rate and/or speed. It deletes all key frames. If BirthRate is pressed and held down, then a zero value birth rate key will be created before the scene initial frame. If Speed is pressed and held down, then the scene initial frame will be preceded by a birth rate key of 1. Initially, the idea was to reset all selected particle animations and set the initial state of the valve to OFF position. There is sense to use it when both BirthRate and Speed are pressed and held down.

Birth_Rate Editor

It can be used to control birth rates for particles. Which is to say, it imitates the valve performance on the real fountain.

  • St – is an abbreviated form of «Step». In this mode the birth rate switches immediately in the key frame. You should use this particular mode.
  • Ln – is an abbreviated form of «Line». In this mode the birth rate changes smoothly from the previous key frame value to a new one in the next frame. Which is to say, we have an example of linear interpolation for values between the two frames. This mode is not commonly used.
  • [0] – sets the value to zero
  • [1] – sets the value to 1

Speed Editor

It can be used to monitor the speed controller of your fountain. In other words, it regulates the power of fountain pumps.

This is a simple but very powerful tool for creating fountain animations.

  • 0.2 – 20% of power
  • 0.4 – 40% of power
  • 0.6 – 60% of power
  • 0.8 – 80% of power
  • 0.9 – 90% of power
  • Min – sets the power relatively to the left numeric input field
  • Max – sets the power relatively to the right numeric input field
  • Auto Birth_Rate – if checked, the program will set both speed and birth rate keys. If checked, the buttons for key setup are placed in brackets >>>>[0]<<<< and >>>>[1]<<<<. This mode is recommended to be turned off, if not used. Thus, you will save both your time and computer resources. For example, if the pumps are off, we not only set the particle speed to 0 but also set birth rate for particles to 0. In other words, the computer needs not to spend resources for crating particles with a zero speed, because you will never see them on the screen. It is important to understand this moment.
  • [0] – sets the key value to 0
  • [1] – sets the key value to 1

Свиток Runner PRO

This is the place where the main water effect generator algorithm, based on valve operation, is situated. Here you can create a variety of different effects for the so-called «running wave».

Runner PRO


This section include all necessary parameters to setup a generator algorithm for «running wave»

  • G – an abbreviated form of «Get». Left click with the mouse to upload the current frame number to the Start Frame.
  • Start Frame – frame number from where the algorithm starts working. Make sure that you have set this value to the proper frame before proceeding with the algorithm.
  • Rounds – a number of cycles to be performed by the algorithm
  • Walls – a number of «wave crests»
  • Clone Count – if the value >1 then next wave will run at the distance specified as Clone Shift.
  • Clone Shift (frm) – number of frames through which the next wave starts running.
  • TimeOn – number of frames used for a working valve.
  • <checkbox> — Uncheck it and animation of valve opening will not be applied. (All valves already opened and you wanna close them, for example)
  • [] — Open Valve opening speed dialog. Valve opens instantly if slider left and valve opens slowly if slider right.
    2014-10-09 18-33-23
  • TimeOff – number of frames used for valve closing (if low setting is used, the valve will close immediately; otherwise the turn-off animation will be gradual).
  • Uncheck the box, if you want the valves stay open.
  • Runner Width – a wave step width. Which is to say, a number of valves in a group (wave) to be opened simultaneously at every following step.
  • Active – number of «working» valves. It is used in pair with Passive to achieve the effect when, first, a number of active nozzles are working and then a number of passive nozzles.
  • Passive – number of «turned-off» valves.
  • Reverse – allows to reverse the algorithm in opposite direction
  • Swap Mode – a mode of animation in which the even and odd nozzles switch on and off alternatively.
    swap mode

    • Swaps – number of full repetitions. Work of odd nozzles followed by even ones is called a repetition.
    • TimeOn – active time for a nozzle group
    • TimeOff –passive time for a nozzle group (simply totaled with TimeOn, without fading, if Use Speed Multiplier is OFF)
    • CrossFrame – number of frames in which the operation of positive and negative nozzle groups is combined. Which is to say, a number of frames, where they work simultaneously. The value can be positive, zero or negative.
    • Runner Width – a width (i.e. quantity) of nozzles in a group.
    • Passive – a number of passive nozzles after each group of nozzles.
    • Use Safe Mode – reset the state of each nozzle group before the first start (birth rate 0, start speed 1)
    • Use Speed Multiplier – if checked, initial particle animation speed keys will be activated. (for gradual animation)
  • Use Safe Mode – for new users. If checked, the program will always create a zero frame (nozzle in passive state) before any step of the algorithm.
  • Use Speed Multiply – for advanced users. If checked, the program will use both the birth rate and start speed frames for particles. It allows to achieve a more gradual and smooth animation.
  • SpeedMltStart – start pressure in circuit pumps (the algorithm first frame)
  • SpeedMltEnd – end pressure in circuit pumps (the algorithm final frame)
  • Undo – press this button to discard the last change (repeats the standard Undo button)
  • Run – start the algorithm
  • Redo – returns the last undo action (repeats the standard Redo button)
  • Run From Current Frame – starts the algorithm from the current frame (i.e Start Frame value will be ignored)
  • Delete All Keys And Reset – deletes all start speed animation and birth rate frames and sets a zero frame in passive state. i.e. birth rate = 0, start speed = 1.

Additional info

The first and last frame numbers are displayed in these fields.

  • First frame — the first frame number that was used during algorithm execution.
  • Lst frame — the last frame number that was used during algorithm execution.
  • GC – stands for «Go and Copy». Left click with the mouse to move the current frame to the selected place (Go). Right click with the mouse to copy the selected frame to the clipboard (Copy).

Fly Text (old version)

fly mode

This algorithm is intended to generate a water scene of your fountain with an individual control of each separate water spray nozzle. i.e. a separate adjustable pump.

Such animation is usually characterized by a greater smoothness.

Fly Text Animation

We don’t need to go deep in details with this algorithm because it is just for testing and will be replaced in later versions. However, it can help you achieve certain results.

Switch to   2014-10-09 18-42-28 mode and then to  2014-10-09 18-43-14. This is the first thing you should do. Otherwise, the algorithm won’t work (unfortunately, this is a known error, which will be patched in next version).

Select a chain of nozzles to work with before you start animation rendering. Each water spray nozzle is processed in the order it was added to your selection.

I give a few examples for basic parameters below. Let’s review just the first two modes. They are used to imitate a wave running by moving the nozzles up and down.

  • Wall width – a number of nozzles that covers ½ wave width.
  • Walls count – a value to define a number of waves in your animation
  • Loop walls – Set this parameter, if a closed shape is used for water outline (e.g. circle). Otherwise, the program will render the animation in which the start and end points of the nozzle chain will not coincide. Please, refer to the example below.
    If you skip Loop walls, the wave will look like this:
    2014-10-09 18-44-51
    And now comes the look it will be after we have defined the Loop walls:
    2014-10-09 18-45-32
  • Start multiply – min. pump capacity (when rendering the animation, this value is applied to passive nozzles instead of switching them off).
  • Min multiply – pump capacity at the moment of imitating the wave trough.
  • G – uploads the current frame number in Start Time field
  • Start time – start frame for animation rendering
  • Grow time – time interval (in animation frames) during which the water scene is starting to grow (appear).
  • Pause time – time interval (in animation frames) during which the water scene becomes «frozen» before it starts moving (animation).
  • Step time – time interval (in animation frames) during which the movement shifts from one nozzle to another. That is, the bigger is the value, the smoother/longer animation being generated will be. On the contrary, the smaller it is, the faster animation should
  • Fade time – time interval (in animation fames) during which the water scene is fading away (all water jets will decrease till the ground level) after the animation is complete.
  • Rounds – number of full circles per wave in the rendered animation.
  • Came back – if checked, the wave, after reaching the end of chain, will go back in opposite direction.
  • Fly – starts the algorithm to generate the animation.

Mass Color

This tab is required to animate lighting simultaneously at different water outlines.

mass color

This module works absolutely the same way as ObjectID modifier. In case with modifiers, the user has a limited choice because he cannot change the properties of these modifiers at the same time, if several copies of the same modifier are applied to the selected objects.

Mass Color removes this restriction. Now, you can select multiple nozzles (particle systems), to which different copies of ObjectID modifier are applied, and manipulate them simultaneously. Meanings for all buttons can be found in Object ID Modifier section.

In Mass Color, unlike ObjectID modifier, you can see as «unique ObjectID to each other» button becomes active. This button is used to apply a unique copy of ObjectID modifer to the selected nozzles (particle systems).

Rollout Floater

Here you can control the way the FTools:Editor panel is displayed on the screen.

rollout floater


  • Left – attaches the panel to the left edge
  • Float – leaves the panel unattached (you can freely move the module around)
  • Right – attaches the panel to the right edge
  • Close – closes the panel