NumberSequence

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

El tipo de datos NumberSequence representa una serie de valores numéricos de 0 a 1 .Los valores de número se expresan usando el introducirNumberSequenceKeypoint.Este tipo se usa en propiedades como ParticleEmitter.Size y Beam.Transparency para definir un cambio numérico con el tiempo.

Equidad

Dos objetos NumberSequence son equivalentes solo si los valores de sus NumberSequenceKeypoint son equivalentes, incluso si ambos resultarían en gráficos similares.

Evaluación

El tipo NumberSequence no tiene un método integrado para obtener el valor en un momento determinado porque los puntos de tecla pueden tener envoluciones aleatorias.Sin embargo, asumiendo que los valores de sobre de tus puntos clave son todos 0, puedes usar la siguiente función para evaluar en un momento específico.


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Si el tiempo es 0 o 1, devuelve el primer o último valor respectivamente
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- De lo contrario, pasa por cada par secuencial de puntos de acceso
for i = 1, #sequence.Keypoints - 1 do
local currKeypoint = sequence.Keypoints[i]
local nextKeypoint = sequence.Keypoints[i + 1]
if time >= currKeypoint.Time and time < nextKeypoint.Time then
-- Calcular qué tan lejos está la alfa entre los puntos
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Devuelve el valor entre los puntos usando alpha
return currKeypoint.Value + (nextKeypoint.Value - currKeypoint.Value) * alpha
end
end
end
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 1),
NumberSequenceKeypoint.new(1, 0),
}
print(evalNumberSequence(numberSequence, 0.65)) --> 0.7

Resumen

Constructores

Propiedades

Constructores

new

Devuelve un NumberSequence con los valores de inicio y fin establecidos en el valor proporcionado n.


local numberSequence = NumberSequence.new(n)
-- Equivalente a
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

Parámetros

new

Devuelve un NumberSequence de dos puntos clave con n0 como valor de inicio y n1 como valor de final.


local numberSequence = NumberSequence.new(n0, n1)
-- Equivalente a
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Parámetros

n0: number
n1: number

new

Devuelve un NumberSequence de un array de NumberSequenceKeypoints.Los puntos clave deben proporcionarse en un orden de valor de tiempo no descendente.Al menos dos puntos clave deben proporcionarse y deben tener un valor de tiempo de 0 (primero) y 1 (último).


local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 0.5, 0.25),
NumberSequenceKeypoint.new(1, 1)
}

Parámetros

Keypoints: Array

Propiedades

Keypoints

Un array que contiene NumberSequenceKeypoint valores para el NumberSequence .