Unity Ignis API Documentation

Unity Ignis API Documentation 1.8.4+

Updated 09.03.2021

support@oava.mostlygoodblog.com

Parameters and properties

Class parameter documentation can be found in class tooltips and User_instructions.pdf

Shader property documentation can be found in folder: Shaders

VFX property documentation can be found in folder: VFX

Classes

Flammable Object

Flammable object is a centerpiece of this system. It essentially works as an independent flammable object, able to catch flame. OAVA-Convert essentially just attaches this script to your object.

Public Functions

public void SetOnFireFromCenter()

Description: Sets the object on the fire from middle

Parameters: None

Returns: None

public void TryToSetOnFire(Vector3 fireOrigin, float ignitePower)

Description: Tries to set an object on fire. Object catches fire if Current Ignition progress > Object Ignition Time

Parameters: 

  • FireOrigin: From where are we trying to set the fire
  • IgnitePower: Current Ignition Progress += IgnitePower*Time.deltatime. Sets the multiplier of the ignition progress.

Returns: None

public void IncrementalExtinguish(Vector3 position, float startRadius, float radiusIncrement)

Description: Incrementally extinguishes the fire from position.

Parameters: 

  • Position: Position to extinguish
  • startRadius: How big is the extinguish area. Creates an increasing sphere, starting from this radius.
  • radiusIncrement: How much is the radius incremented each call if the new position is not extinguished. Simulates e.g. water flow on the ground.

Returns: None

Public void SaveOriginalMaterialShaderProperties()

Saves the state of the third-party shader in terms of the properties which Ignis animates. Properties to be saved need to be described in ShaderCompatibility ScriptableObject.

Public void ResetMaterialFromIgnis()

Description: Resets the properties which Ignis animates of all materials under the flammable object. Does not touch properties not animated/described in ShaderCompatibility ScriptableObject

Public void ResetObj()

Description: Resets flammable object properties to original. Does not reset the shader. Please use ResetMaterialFromIgnis() to reset the shader.

Gets

public Vector3 GetFireOrigin()

Gets the world position origin, where fire started at this moment (origin moves with object)

public float GetPutOutRadius()

Gets the current radius of the extinguishing effect.

Public Vector3 GetPutoutCenter()

Gets the center of the current extinguish effect in world coordinates.

public float GetCurrentIgnitionProgress()

Gets ignition progress (how long object has been tried to be ignited. Ignite multiplier multiplies the time) in seconds.

Public float GetObjectApproxSize()

Gets the approximated biggest size of the object by Ignis. This is usually the longest distance between corners of the object.

FlameEngine

Singleton class which holds the global properties for the scene and default values. Retrieve this anywhere by Ignis.FlameEngine.instance

Gets

public List<OAVAShaderCombabilitySO> GetCompatibleShaders()

Gets all the compatible shader scriptable objects attached to the engine.

public List<FlameCollisionCallbacks> GetCollisionCallbacks()

Gets a list of callbacks to be called when a determined object touches the fire.

public GameObject GetFireVFX()

Gets VFX prefab of selected VFX variant. 

RaycastExtinguish

This component can be used to extinguish the flames from any custom object. Can be repeating or called one time.

Public functions

public void CastRayCastExtinguish()

Casts a raycast sphere looking for extinguishing the flammable objects once. Uses the public variables for the parameters.

SphereExtinguish

This component can be used to extinguish the flames from any custom object. Can be repeating or called one time. Does not care about other colliders.

Public functions

public void SphereExtinguishCast()

Casts a raycast sphere looking for extinguishing the flammable objects once. Uses the public variables for the parameters.

RaycastIgnite

This component can be used to ignite the flames from any custom object. Can be repeating or called one time.

Public functions

public void CastRayCastIgnite()

Casts a raycast sphere once looking to ignite the flammable objects. Uses the public variables for the parameters.

SphereIgnite

This component can be used to ignite the flames from any custom object. Can be repeating or called one time. Does not care about other colliders.

Public functions

public void SphereIgniteCast()

Casts an overlap sphere once looking to ignite the flammable objects. Uses the public variables for the parameters.

WindRetrieve

This component can be used to retrieve wind velocity from external sources.

Gets

public bool OnUse()

Is this component in use and has the wind source been found?

public Vector3 GetCurrentWindVelocity()

Gets the current wind velocity.

FlameCollisionCallbacks

This class can be used to add your own functionality for touching the flames.

Public void TryToTriggerCollisionEvents(GameObject other)

Description: Tries to trigger the determined collision. If GameObject other is in the list of the affected gameobjects or has an affected tag, this script will trigger a callback attached to this component. Otherwise it does nothing.

Parameters: 

  • Other: gameobject colliding with flame currently

Returns: None

Related Post

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments