Zum Hauptinhalt springen
Version: latest - a1.156.0 ⚖️

NanosMath

Eine Tabelle mit nützlichen und ergänzenden mathematischen Funktionen.


🎒 Examples​

(NanosMath.ClampAxis) Clamping an angle
local axis = NanosMath.ClampAxis(720)
(NanosMath.FInterpTo) Interpolating a number until it reaches 100 with speed 3
local my_value = 0
Client.Subscribe("Tick", function(delta_time)
my_value = NanosMath.FInterpTo(my_value, 100, delta_time, 3)
end)
(NanosMath.VInterpTo) Interpolating a Vector until it reaches Vector(1000, 200, 100) with speed 5
local my_value = Vector(0, 0, 0)
Client.Subscribe("Tick", function(delta_time)
my_value = NanosMath.VInterpTo(my_value, Vector(1000, 200, 100), delta_time, 5)
end)

🗿 Static Functions​

ReturnsNameDescription
floatRoundRounds a number to the nearest value with the given decimal places
floatClampBegrenzt eine Zahl
floatClampAxisBegrenzt einen Winkel auf den Bereich [0, 360]
floatNormalizeAxisBegrenzt einen Winkel auf den Bereich [-180, 180]
Vector, RotatorRelativeToBerechnet die Position und Rotation relativ zu einem Akteur
Vector, RotatorLocalToWorldKonvertiert eine lokale Position und Rotation basierend auf der Transformation eines Akteurs in Weltkoordinaten
floatRandomFloatGibt einen zufälligen Gleitkommawert zurück
floatFInterpToInterpoliert eine Zahl von Aktuell zu Ziel
RotatorRInterpToInterpoliert einen Rotator von Aktuell zu Ziel
RotatorRInterpConstantToInterpoliert einen Rotator von Aktuell zu Ziel mit einem konstanten Schritt
VectorVInterpToInterpoliert einen Vektor von Aktuell zu Ziel
VectorVInterpConstantToInterpoliert einen Vektor von Aktuell zu Ziel mit einem konstanten Schritt

Optimal

Round​

Rounds a number to the nearest value with the given decimal places
local ret = NanosMath.Round(value, decimals?)

Parameters

TypeParameterDefaultDescription
floatvalue Required parameter Die zu rundende Zahl
integerdecimals?0
How many decimal places to keep

Returns

TypeDescription
floatdie gerundete Zahl

Optimal

Clamp​

Begrenzt eine Zahl
local ret = NanosMath.Clamp(value, min, max)

Parameters

TypeParameterDefaultDescription
floatvalue Required parameter Die zu begrenzende Zahl
floatmin Required parameter Der Mindestwert
floatmax Required parameter Der Höchstwert

Returns

TypeDescription
floatdie begrenzte Zahl

Optimal

ClampAxis​

Begrenzt einen Winkel auf den Bereich [0, 360]
local ret = NanosMath.ClampAxis(value)

Parameters

TypeParameterDefaultDescription
floatvalue Required parameter Die zu begrenzende Zahl

Returns

TypeDescription
floatdie begrenzte Zahl
NanosMath.ClampAxis Examples
Clamping an angle
local axis = NanosMath.ClampAxis(720)

Optimal

NormalizeAxis​

Begrenzt einen Winkel auf den Bereich [-180, 180]
local ret = NanosMath.NormalizeAxis(value)

Parameters

TypeParameterDefaultDescription
floatvalue Required parameter Die zu begrenzende Zahl

Returns

TypeDescription
floatdie begrenzte Zahl

Optimal

RelativeTo​

Berechnet die Position und Rotation relativ zu einem Akteur
local ret_1, ret_2 = NanosMath.RelativeTo(location, rotation, actor)

Parameters

TypeParameterDefaultDescription
Vectorlocation Required parameter Die Position des neuen Systems
Rotatorrotation Required parameter Die Rotation des neuen Systems
Base Actoractor Required parameter Der Akteur, der in das neue System übertragen soll werden

Returns

TypeDescription
Vectordie Position relativ zum Akteur
Rotatordie Rotation relativ zum Akteur

Optimal

LocalToWorld​

Nimmt eine lokale Position und Rotation relativ zu einem Akteur, wendet die Position, Rotation und Skalierung des Akteurs an, um die Weltraum-Position und -Rotation zu berechnen.
local ret_1, ret_2 = NanosMath.LocalToWorld(local_location, local_rotation, actor)

Parameters

TypeParameterDefaultDescription
Vectorlocal_location Required parameter Die zu konvertierende lokale Position
Rotatorlocal_rotation Required parameter Die zu konvertierende lokale Rotation
Base Actoractor Required parameter Der Akteur, dessen Transformation den lokalen Raum definiert

Returns

TypeDescription
Vectordie Position in Weltkoordinaten
Rotatordie Rotation in Weltkoordinaten

Optimal

RandomFloat​

Gibt einen zufälligen Gleitkommawert zurück
local ret = NanosMath.RandomFloat(min, max)

Parameters

TypeParameterDefaultDescription
floatmin Required parameter Mindestwert
floatmax Required parameter Höchstwert

Returns

TypeDescription
floatder zufällige Wert

Optimal

FInterpTo​

Interpoliert eine Zahl von Aktuell zu Ziel
local ret = NanosMath.FInterpTo(current, target, delta_time, interp_speed)

Parameters

TypeParameterDefaultDescription
floatcurrent Required parameter The current value
floattarget Required parameter The target value
floatdelta_time Required parameter Time since the last call, usually the Tick delta time
floatinterp_speed Required parameter Interpolation speed, 0 jumps straight to the target

Returns

TypeDescription
floatThe interpolated value
NanosMath.FInterpTo Examples
Interpolating a number until it reaches 100 with speed 3
local my_value = 0
Client.Subscribe("Tick", function(delta_time)
my_value = NanosMath.FInterpTo(my_value, 100, delta_time, 3)
end)

Optimal

RInterpTo​

Interpoliert einen Rotator von Aktuell zu Ziel
local ret = NanosMath.RInterpTo(current, target, delta_time, interp_speed)

Parameters

TypeParameterDefaultDescription
Rotatorcurrent Required parameter The current value
Rotatortarget Required parameter The target value
floatdelta_time Required parameter Time since the last call, usually the Tick delta time
floatinterp_speed Required parameter Interpolation speed, 0 jumps straight to the target

Returns

TypeDescription
RotatorThe interpolated Rotator

Optimal

RInterpConstantTo​

Interpoliert einen Rotator von Aktuell zu Ziel mit einem konstanten Schritt
local ret = NanosMath.RInterpConstantTo(current, target, delta_time, interp_speed)

Parameters

TypeParameterDefaultDescription
Rotatorcurrent Required parameter The current value
Rotatortarget Required parameter The target value
floatdelta_time Required parameter Time since the last call, usually the Tick delta time
floatinterp_speed Required parameter Interpolation speed, 0 jumps straight to the target

Returns

TypeDescription
RotatorThe interpolated Rotator

Optimal

VInterpTo​

Interpoliert einen Vektor von Aktuell zu Ziel
local ret = NanosMath.VInterpTo(current, target, delta_time, interp_speed)

Parameters

TypeParameterDefaultDescription
Vectorcurrent Required parameter The current value
Vectortarget Required parameter The target value
floatdelta_time Required parameter Time since the last call, usually the Tick delta time
floatinterp_speed Required parameter Interpolation speed, 0 jumps straight to the target

Returns

TypeDescription
VectorThe interpolated Vector
NanosMath.VInterpTo Examples
Interpolating a Vector until it reaches Vector(1000, 200, 100) with speed 5
local my_value = Vector(0, 0, 0)
Client.Subscribe("Tick", function(delta_time)
my_value = NanosMath.VInterpTo(my_value, Vector(1000, 200, 100), delta_time, 5)
end)

Optimal

VInterpConstantTo​

Interpoliert einen Vektor von Aktuell zu Ziel mit einem konstanten Schritt
local ret = NanosMath.VInterpConstantTo(current, target, delta_time, interp_speed)

Parameters

TypeParameterDefaultDescription
Vectorcurrent Required parameter The current value
Vectortarget Required parameter The target value
floatdelta_time Required parameter Time since the last call, usually the Tick delta time
floatinterp_speed Required parameter Interpolation speed, 0 jumps straight to the target

Returns

TypeDescription
VectorThe interpolated Vector