NumberSequence

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Le type de données NumberSequence représente une série de valeurs numériques de 0 à 1 .Les valeurs numériques sont exprimées en utilisant le taperNumberSequenceKeypoint.Ce type est utilisé dans des propriétés telles que ParticleEmitter.Size et Beam.Transparency pour définir un changement numérique au fil du temps.

Égalité

Deux objets NumberSequence équivalents ne sont équivalents que si les valeurs de leurs NumberSequenceKeypoint sont équivalentes, même si les deux aboutissent à des graphiques similaires.

Évaluation

Le type NumberSequence n'a pas de méthode intégrée pour obtenir la valeur à un certain moment/point car les points clés peuvent avoir des enveloppes aléatoires.Cependant, en supposant que les valeurs d'enveloppe de vos points clés sont toutes 0, vous pouvez utiliser la fonction suivante pour évaluer à un moment spécifique.


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Si le temps est 0 ou 1, retournez la première ou la dernière valeur respectivement
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Sinon, passez en revue chaque paire séquentielle de points de clé
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
-- Calculer à quelle distance l'alpha se trouve entre les points
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Retourner la valeur entre les points en utilisant 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

Résumé

Constructeurs

Propriétés

Constructeurs

new

Renvoie un NumberSequence avec les valeurs de début et de fin définies sur les valeurs fournies n.


local numberSequence = NumberSequence.new(n)
-- Équivalent à
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

Paramètres

new

Retourne un NumberSequence de deux points clés avec n0 comme valeur de départ et n1 comme valeur de fin.


local numberSequence = NumberSequence.new(n0, n1)
-- Équivalent à
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Paramètres

n0: number
n1: number

new

Retourne un NumberSequence d'une liste de NumberSequenceKeypoints.Les points clés doivent être fournis dans un ordre de valeur temporelle non décroissante.Au moins deux points clés doivent être fournis, et ils doivent avoir une valeur de temps de 0 (premier) et de 1 (dernier).


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

Paramètres

Keypoints: Array

Propriétés

Keypoints

Un tableau contenant NumberSequenceKeypoint des valeurs pour le NumberSequence.