Fire Simulation

Fire simulation is an optional feature of nodes, which can allow some nodes to catch on fire.

To enable fire simulation on a node, it needs to have a flashpoint, corresponding to it’s autoignition temperature.

Nodes can transfer heat to nearby nodes through conduction, if enabled, or radiation, when the node is on fire.

Wheel nodes are also tied in to this system, getting heated up by fire causing the brakes to heat up and potentionally the tires to blow up.

Node arguments

number
type
Temperature (°C) at which the node catches on fire.
In documentation this is often refered to as the auto-ignition temperature.
number
type
tEnv
default
Initial temperature (°C) of the node.
Using “thermals” as the baseTemp will tie the node’s temperature to the engine temperature.
number
type
flashPoint
default
Temperature (°C) at which the node emits smoke.
number
type
How quickly the node burns through its fuel.
Actual burn rate also depends on how much energy is left to burn and the current temperature of the node.
number
type
0
default
Maximum distance (meters) that the node will transfer heat to other nodes through conduction.
number
type
0
default
How much energy from collisions heats up the node.
number
type
0
default
How much energy is in the node (J).
number
type
1
default
Specific heat of the node in J/kg/°C.
Along with the node’s weight, this affects how quickly the node heats up.
number
type
Percentage of vaporisation above which the node is considered vaporised.

A node that is “vaporised” will have a lower flashpoint and a much higher burn rate until it condenses again.

Vaporisation happens when the node’s container beam gets broken.

string
type
Identifies the node as being part of a container.
This will cause the nodes inside the container to “vaporize” by a certain amount.

Beam arguments

string
type
Identifies the beam as being part of a container.

Breaking the beam will rupture the container, allowing the nodes inside of it to be “vaporized”.

It will also produce fuel spill particles and notify the user via UI that the vehicle’s fuel tank has been ruptured.

boolean
type
false
default
Disables fuel tank rupture UI message.

When used together with the containerBeam property, the UI will not be notified about fuel tank rupture.

Can be used for jerry cans and such, when you want to have fuel spill particles on break outside of the vehicle’s fuel tank.

Simple Example

A section of the vehicle’s interior carpet nodes that can catch on fire

{"chemEnergy":1000,"burnRate":0.52,"flashPoint":300,"specHeat":0.8,"smokePoint":150,"selfIgnitionCoef":false},
["f1r", -0.316, -1.08, 0.233, {"nodeWeight":7.0, "group":["bastion_body","bastion_floor"]}],
["f1l",  0.316, -1.08, 0.233, {"nodeWeight":7.0, "group":["bastion_body","bastion_floor"]}],
{"chemEnergy":false,"burnRate":false,"flashPoint":false,"specHeat":false,"smokePoint":false,"selfIgnitionCoef":false},

Advanced Example

A vehicle’s fuel tank nodes with various fire properties

{"chemEnergy":50,"burnRate":1.2,"flashPoint":220,"vaporPoint":97,"specHeat":0.03,"selfIgnitionCoef":0.03,"smokePoint":220,"containerBeam":"fuelTank"},
["ft1", 0, 1.06, 0.34],
["ft1l", 0.34, 1.06, 0.34],
["ft1r", -0.34, 1.06, 0.34],
{"selfIgnitionCoef":false,"selfCollision":false},
["ft2", 0, 0.8, 0.32],
["ft2l", 0.39, 0.8, 0.32],
["ft2r", -0.39, 0.8, 0.32],
["ft3", 0.0, 0.93, 0.33],
["ft3l", 0.37, 0.93, 0.33],
["ft3r", -0.37, 0.93, 0.33],
{"chemEnergy":false,"burnRate":false,"flashPoint":false,"vaporPoint":false,"specHeat":false,"selfIgnitionCoef":false,"smokePoint":false,"containerBeam":false},

The beam that activates the fuel tank rupture

["f4l","f4r", {"name":"fuelTank","containerBeam": "fuelTank"}],
Last modified: July 10, 2024

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.