FumeFX Sources are the essential elements of any simulation. They are the container for the various aspects of a simulation including temperature, fuel, smoke and the motion for the simulation.
- The Simple Source consists of procedurally created emitter, in a shape of box, sphere or cylinder. It can add fire, smoke, temperature, and velocity to the grid or diminish existing. With a Simple Source, it is easy to create wind, candles, torches, blasts and smoke. For customized emissions within each channel, any 3D procedural texture map can be used as a mask.
- The Object Source can create fire or smoke on any geometric object, which it can treat as solid or hollow. Like the Simple Source, every emitted channel has a mask. Any 2D or 3D texture map can be used (including the ability to use any single RGB component of the map). A simple example of masking is the concept of a fire spreading over a surface controlled by a noise map with animated thresholds. FumeFX VertexPaint tool allows users to specify in which direction the Object Source will emit.
Emission direction based on per-vertex user-defined vector.
- The Particle Source uses any 3ds Max particle system as the source, including full support for Particle Flow and Thinking Particles. Each particle acts like a Simple Source with a given radius. All parameters (radius, channel emissions) have variation per particle. AFC's, (Animation Flow Curves - which are well known to the AfterBurn users) give control over parameters in dependence of particle age, particle velocity, rmiter distance, object distance and expression. FumeFX Particle Source controllers provide support for ParticleFlow float and vector channel access. It is also possible to pick any Particle Flow event directly.
- The FumeFX Source uses another FumeFX simulation as a source for Fuel, Smoke, Temperature, Smoke and Velocity channels.
- As an addition, sources can affect values of any channel by using a special controller that reads voxel data. In practice, this means that sources can emit fuel when temperature (or any other existing data) inside a voxel is above or below a user-defined threshold.
- By using controllers, users can also write an expression that will evaluate temperature inside the voxel and based on its value, decide how much of the fuel will be added to the voxel (temperature and fuel were used for an example only).