Adverti horiz upsell

Heat Spread 0.0.3 for Maya (maya script)

Drive attributes based on distance and flow of heat of other objects in the system

Button download


  • 2012, 2011, 2010, 9.x, 2009, 2008, 8.x, 7.x

Operating Systems

  • Windows


Last Modified:10/13/2011
File Size: 41.2 KB
*update, after requests now working with maya 2011 and 2012.

To use, copy to scripts folder or load in maya and command: " ar_heatSpread() "

example video:

This script creates a heat system that spreads heat among assigned objects, giving the ability to use that attribute ($obj+`.heat` - in a scale from -1 to 1) to control and drive other attributes per object.
            This system works on the distances between the objects themselves and not from a certain point in the scene.
            The system is compromised of the controller object and the igniter locator:
            Igniter: This locator starts the heat by igniting one or multiple objects which are assigned to the same heat system as the igniter. If needed, Igniters can be duplicated to ignite from more then one spot.
            Heat controller:
            controller hold the attributes that drive the simulation. The following attributes are availabe:
            Igniter Radius: Defines the radius in which the igniter/s affect the objects in units
            Igniter Impact: Defines the impact the igniter/s have on the objects - in heat units (-1 - 1)
            Start Frame: At which frame will the sim start
            Number of Neighbours: As the sim is distance based between objects, this attribute controls how many `other` object can each object affect
            Check Distances: If on, the distance to the objects is checked again (its automatically on for the 1st frame) - good if at a certain point the distance between the objects change to maintain goo sim.
            Always Check: If on the distances are always checked, again, good in case the objects movement is affected.
            Check At Start: If on every time you restart the scene the system will check distances
            Fuel Consume: Range 0 - 10, controls the speed at which the fuel to keep the heat s depleted, 0 means fuel forever.
            Heat Cool Speed: Range 0 - 10, controls the speed at which once fuel runs out, how fast will the objects cool off.
            Randomize Spread Speed: Range 0 - 1, controls the amount of randomness of the spread, 0 - non, 1 - most likely the sim won’t get to finish.
            Randomize Direction: If on, the direction of heat - if heat is positive or negative, is randomised.
            Spread Speed: The speed at which objects heat up. Careful, its a multiplier - Default is 0.1.
            Material Convection: Range 1 - 10, How hot does an objects have to be in order to spread heat. 1 almost no spread, 10 spread a lot.
            Cycle From Igniter: If on, after sim has ended and all objects have been depleted, sim will restart from igniter.
            Cycle From End: If on, after sim has finished and all objects have been depleted, sim will start from last depleted object AND from Igniter
            Reverse heat: Next cycle will spread heat in the opposite positive negative direction. Has no effect if randomize direction is on.
            Wave: If on creates waves of heat based on the interval provided by the wave time.
            Wave Time: If wave is on, guess what...
            The controller also holds an animation curve akes in the heat and produces manipulated heat, so you can use that one also. The manipulation section is connected to the manipulated heat.
            Next Attributes control built in manipulation for the objects:
            Randomize Manipulation: Control the amount of randomness to add to the desired manipulation amount. 0 - no rand.
            Translation: turn translation built in manipulation on.
            Translation Local: If on translation is affecting objects local space.
            TransX -Y -Z: Amount of total change
            other attrs should be obvious by now :)
            Each object has an attribute controlling which heat system affects him, same for igniters.
            There are some known bugs with pivot manipulation and local manipulation together, im working on it
            UI creation options:
            The list to the left specifies affected objects, you can add, remove and clear with assigned buttons.
            The `add to existing system check box is basically for safety, as if there is a mismatch after execution a prompt dialog will show so no systems will be overridden.
            Heat system number is the system you wish to add or create for the objects.
            Remove from systems button will remove the selected list objects from all systems and kill unneeded attributes
            This script uses a method influenced by Nick Pisca method of finding closest objects, look it up at lots of cool stuff there, Thanks!!!
            Hope you will enjoy it, for questions, my e-mail is
            (Im planning on making a same thing that will work on components rather then objects, some time in the near future.)

Please use the Bug System to report any bugs.
Please use the Feature Requests to give me ideas.
Please use the Support Forum if you have any questions or problems.
Please rate and review in the Review section.

People who favorited this item:

  • mohamed wageeh
    mohamed wageeh
  • CGus
  • rushcg
  • bbossin
  • calcipher
  • Jan Lachauer
    Jan Lachauer
  • Sergey Rutabaga
    Sergey Rutabaga
  • raju buddha
    raju buddha