RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Flowgraph Base ModuleFlowgraph Base NodeFlowgraph Base State NodeFlowgraph Node BuilderFlowgraph GraphFlowgraph Group HelperFlowgraph LinkFlowgraph ManagerNew Node TemplateFlowgraph PinFlowgraph States ManagerFlowgraph UtilsFlowgraph Variable Storage
Accumulator (Flowgraph Node)Ease (Flowgraph Node)Increaser (Flowgraph Node)Expression (Flowgraph Node)
Linear Smoother (Flowgraph Node)Nonlinear Smoother (Flowgraph Node)Sigmoid Smoother (Flowgraph Node)Spring Smoother (Flowgraph Node)

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE Extensionsflowgraphnodesmathsmoothers

Sigmoid Smoother (Flowgraph Node)

- **Node Name:** `Sigmoid Smoother`

Overview

  • Node Name: Sigmoid Smoother
  • Category: simple
  • File: extensions/flowgraph/nodes/math/smoothers/sigmoid.lua

Provides sigmoid-style temporal smoothing with configurable rate limits and acceleration parameters for both increasing and decreasing signals.

Pin Schema

Input Pins

PinTypeDescription
valuenumberThe target signal value
dtnumberDelta time for smoothing
upRateLimitnumberMaximum rate of change when increasing
downRateLimitnumberMaximum rate of change when decreasing
upStartAccelnumberAcceleration at the start of an upward transition
downStartAccelnumberAcceleration at the start of a downward transition
upStopAccelnumberDeceleration at the end of an upward transition
downstopAccelnumberDeceleration at the end of a downward transition
setnumberDirectly set the smoother's internal state

Output Pins

PinTypeDescription
valuenumberThe smoothed output value

Internals

FieldPurpose
C.smootherTemporalSigmoidSmoothing object (note: assigned to class, not instance)
C.oldSetTracks previous set value to detect changes

How It Works

  1. On init, a newTemporalSigmoidSmoothing() object is created.
  2. If the set pin changes, the smoother state is directly set.
  3. If no value is provided, the current smoother state is output.
  4. Otherwise, three parameters (rate limit, start accel, stop accel) are selected based on direction.
  5. The smoother uses getWithRateAccel(sample, dt, limit, start, stop) for S-curve smoothing.

The sigmoid profile accelerates at the beginning and decelerates at the end of a transition, creating smooth starts and stops.

Lua Example

-- Smooth a UI progress bar with S-curve easing:
-- value = target progress (0-1)
-- dt = frame delta time
-- upRateLimit = 2 (max speed)
-- upStartAccel = 5 (quick start)
-- upStopAccel = 3 (gentle stop)

Key Dependencies

  • newTemporalSigmoidSmoothing() - BeamNG sigmoid temporal smoothing primitive
  • ui_imgui - displays smoother state in the node editor
  • _flowgraph_createNode() - standard flowgraph node registration

Additional Methods

C:checkSetValue()

Node method.

C:drawMiddle(builder, style)

Custom ImGui drawing in the middle section of the node in the editor.

Parameters:

  • builder
  • style

C:work()

Main work function called each frame/tick when the node is active.


See Also

  • Linear Smoother (Flowgraph Node) - Related reference
  • Nonlinear Smoother (Flowgraph Node) - Related reference
  • Spring Smoother (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

Nonlinear Smoother (Flowgraph Node)

- **Node Name:** `Nonlinear Smoother`

Spring Smoother (Flowgraph Node)

- **Node Name:** `Spring Smoother`

On this page

OverviewPin SchemaInput PinsOutput PinsInternalsHow It WorksLua ExampleKey DependenciesAdditional MethodsC:checkSetValue()C:drawMiddle(builder, style)C:work()See Also