Skip to content

Accelerations

shadowmaster435 edited this page Apr 11, 2024 · 6 revisions

Anything listed here goes in the "accelerations" section like so

"accelerations": {
    "parameter": {
        ...
     },
    "other_parameter": {
        ...
     }
}

Accelerations are applied every tick, angles are measured in degrees, and all values default to zero unless stated otherwise.

Basic Structure Example

Used for the majority of parameters here.

"parameter_name": {
      "cardinal_velocity": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "angular_velocity": 1

}

Types

Basic

  • "initial": A Particles starting velocity does not increase or decrease on its own. Defaults to 0 for each parameter not included in a particle json.

  • "additive": Extra velocity added per tick. Defaults to 0 for each parameter not included in a particle json.

  • "damping_forces": How fast a particle's velocity moves towards or away from zero, basically a velocity multiplier. Applies after any and all velocity changes. While 0 is the disabled state (no longer applied) a number like 0.001 makes a velocity slow down more or less instantly. Defaults to 0 for each parameter not included in a particle json.

  • "initial_random": See section

  • "trig": See section

Initial Random

The range of velocities a particle can be randomly assigned on spawn. Like the normal initial velocities it does not increase or decrease by itself. Defaults to 0 for each parameter not included in a particle json.

Example

"initial_random": {
      "cardinal_velocity": {
        "min": {
          "x": -0.5,
          "y": -0.5,
          "z": -0.5
        },
        "max": {
          "x": 0.5,
          "y": 0.5,
          "z": 0.5
        }
      },
      "angular_velocity": {
        "min": -50,
        "max": 20
      }
    }

Trigonometry

Useful for making wave like or circular motions.

Example

"trig": {
      "sine": {
        "speed": {
          "x": 0.5,
          "y": 0.0,
          "z": 0
        },
        "amplitude": {
          "x": 1.0,
          "y": 0.0,
          "z": 0
        }
      },
      "cosine": {
        "speed": {
          "x": 0.0,
          "y": 0.0,
          "z": 0.5
        },
        "amplitude": {
          "x": 0.0,
          "y": 0.0,
          "z": 1.0
        }
      }
    }