Trail
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
L'objet sentier est utilisé pour créer un effet de sentier entre deux pièces jointes.À mesure que les pièces jointes se déplacent dans l'espace, une texture est dessinée sur leur plan défini.Cela est couramment utilisé pour créer des effets qui visualisent des mouvements comme des traces de projectiles, des empreintes de pas, des pistes de pneus et des effets similaires.
Voir trails pour plus d'informations.
Échantillons de code
This example demos the functionality of Trails by creating a BasePart to be the parent of the trail. Two Attachments are then parented to the part. The positions of these two attachments (more importantly the distance between them) determines where the trail is drawn as the part moves.
For these attachments to create a trail as described, a new Trail is parented to the part and its Attachment0 and Attachment1 are parented to attachment0 and attachment1 respectively. Finally, TweenService is used to move the part back and forth, showing how the trail is drawn as the part (and its attachments) move.
local TweenService = game:GetService("TweenService")
-- Create a parent part
local part = Instance.new("Part")
part.Material = Enum.Material.SmoothPlastic
part.Size = Vector3.new(4, 1, 2)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Parent = workspace
-- Create attachments on part
local attachment0 = Instance.new("Attachment")
attachment0.Name = "Attachment0"
attachment0.Position = Vector3.new(-2, 0, 0)
attachment0.Parent = part
local attachment1 = Instance.new("Attachment")
attachment1.Name = "Attachment1"
attachment1.Position = Vector3.new(2, 0, 0)
attachment1.Parent = part
-- Create a new trail
local trail = Instance.new("Trail")
trail.Attachment0 = attachment0
trail.Attachment1 = attachment1
trail.Parent = part
-- Tween part to display trail
local dir = 15
while true do
dir *= -1
local goal = { Position = part.Position + Vector3.new(0, 0, dir) }
local tweenInfo = TweenInfo.new(3)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(4)
end
Résumé
Propriétés
Avec Attachment1, détermine où la trace commencera à dessiner ses segments.
Avec Attachment0, détermine où la trace commencera à dessiner ses segments.
Échelle la lumière émise par la trace lorsque LightInfluence est inférieure à 1.
La couleur de la trace tout au long de sa vie.
Détermine si la trace sera dessinée ou non.
Détermine si la trace sera toujours face à la caméra, quelle que soit son orientation.
Détermine la durée de chaque segment dans une trace, en secondes.
Détermine dans quelle mesure les couleurs de la trace se mélangent aux couleurs derrière elle.
Détermine le degré dans lequel la trace est influencée par l'éclairage de l'environnement.
Définit la longueur maximale de la trace.
Définit la longueur minimale de la trace.
L'ID du contenu de la texture à afficher sur le trace.
Définit la longueur de la texture de la trace, dépendant de TextureMode.
Détermine la manière dont les échelles Texture s'accumulent, se répètent et se déplacent avec les attachments de la trace.
Définit la transparence des segments du tracesur sa Lifetime .
Échelle la largeur de la trace au cours de sa durée de vie.
Méthodes
Efface les segments du trace.
Propriétés
Attachment0
Un Trail commence à dessiner ses segments aux positions de son Attachement0 et Attachment1 .Lorsque la trace est Enabled , elle enregistre les positions de ses attachments à chaque cadre et les relie aux positions des attachments sur le cadre précédent, créant un polygone qui est ensuite rempli par les Color et Texture de la trace.
Changer les pièces jointes d'une trace pendant qu'une trace est dessinée supprimera tous les segments que la trace a déjà dessinés.
Attachment1
Un Trail commence à dessiner ses segments aux positions de son Attachment0 et de son Attachement1 .Lorsque la trace est Enabled , elle enregistre les positions de ses attachments à chaque cadre et les relie aux positions des attachments sur le cadre précédent, créant un polygone qui est ensuite rempli par les Color et Texture de la trace.
Changer les pièces jointes d'une trace pendant qu'une trace est dessinée supprimera tous les segments que la trace a déjà dessinés.
Brightness
Échelle la lumière émise par la trace lorsque LightInfluence est inférieure à 1.Cette propriété est 1 par défaut et peut être définie à n'importe quel nombre se situant dans la plage de 0 à 10 000.L'augmentation de la valeur de LightInfluence diminue l'effet de la valeur de cette propriété.
Color
Détermine la couleur de la trace tout au long de sa vie. Si Texture est configurer, cette couleur teint la texture.
Cette propriété est un ColorSequence , ce qui permet de configurer la couleur pour qu'elle varie sur la longueur du trace.Si la couleur change après que certains segments du parcours aient été dessinés, tous les segments anciens seront mis à jour pour correspondre aux nouvelles couleurs.
Échantillons de code
This example creates a Trail with a gradient color, meaning that the color at one end of the trail is different than the color at the opposite end, and both colors blend together as they get closer to the middle of the trail.
local TweenService = game:GetService("TweenService")
-- Create a parent part
local part = Instance.new("Part")
part.Material = Enum.Material.SmoothPlastic
part.Size = Vector3.new(4, 1, 2)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Parent = workspace
-- Create attachments on part
local attachment0 = Instance.new("Attachment")
attachment0.Name = "Attachment0"
attachment0.Position = Vector3.new(-2, 0, 0)
attachment0.Parent = part
local attachment1 = Instance.new("Attachment")
attachment1.Name = "Attachment1"
attachment1.Position = Vector3.new(2, 0, 0)
attachment1.Parent = part
-- Create a new trail with color gradient
local trail = Instance.new("Trail")
trail.Attachment0 = attachment0
trail.Attachment1 = attachment1
local color1 = Color3.fromRGB(255, 0, 0)
local color2 = Color3.fromRGB(0, 0, 255)
trail.Color = ColorSequence.new(color1, color2)
trail.Parent = part
-- Tween part to display trail
local dir = 15
while true do
dir *= -1
local goal = { Position = part.Position + Vector3.new(0, 0, dir) }
local tweenInfo = TweenInfo.new(3)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(4)
end
Enabled
Cette propriété détermine si la trace sera dessinée ou non.
Si la valeur est définie sur false lorsqu'un parcours est dessiné, aucun nouveau segment ne sera dessiné, mais tous les segments existants seront nettoyés naturellement lorsqu'ils atteignent la fin de leur Lifetime .Pour nettoyer de force les segments existants, appelez la méthode Clear() à la même fois.
FaceCamera
Un Trail est une projection 2D existante dans l'espace 3D, ce qui signifie qu'elle peut ne pas être visible de tous les angles.La propriété FaceCamera , lorsqu'elle est définie sur true, garantit que la trace est toujours dirigée vers le CurrentCamera, quelle que soit son orientation.
Changer cette propriété affecte immédiatement tous les segments de sentier existants et futurs.
Lifetime
La propriété à vie détermine la durée de chaque segment dans une trace, en secondes, avant sa disparition.Par défaut à 2 secondes, mais peut être défini n'importe où entre 0,01 et 20.
La durée de vie d'une trace est également utilisée par les propriétés Color et Transparency de l'effet pour déterminer comment chaque segment est dessiné.Ces deux propriétés sont des séquences, ce qui signifie qu'elles définissent leurs valeurs à certains points clés dans la vie du segment et qu'elles interpolent ensuite entre les valeurs à mesure que le segment vieillit.
Si la durée de vie d'une trace change, les segments existants se comporteront immédiatement comme s'ils avaient toujours la nouvelle durée de vie, ce qui signifie que s'ils ont existé plus longtemps que la nouvelle durée de vie, ils seront supprimés immédiatement.
LightEmission
Détermine dans quelle mesure les couleurs de la trace se mélangent aux couleurs derrière elle.Il devrait être défini dans la plage de 0 à 1.Une valeur de 0 utilise les modes de mélange normaux et une valeur de 1 utilise le mélange additif.
Cette propriété ne doit pas être confondue avec LightInfluence qui détermine comment la trace est affectée par la lumière environnementale.
Changer cette propriété affecte immédiatement tous les segments existants et futurs du trace.
Cette propriété ne fait pas pas allumer la trace pour éclairer l'environnement.
LightInfluence
Détermine le degré dans lequel la trace est influencée par l'éclairage de l'environnement, comprise entre 0 et 1.Lorsque 0, la trace ne sera pas affectée par l'éclairage de l'environnement.Lorsque 1, il sera entièrement affecté par l'éclairage comme un BasePart le serait.
Changer cette propriété affecte immédiatement tous les segments existants et futurs du trace.
Voir aussi LightEmission qui spécifie dans quelle mesure les couleurs de la trace sont mélangées avec les couleurs derrière elle.
LocalTransparencyModifier
MaxLength
Cette propriété détermine la longueur maximale du parcours, en studs.Sa valeur par défaut est de 0, ce qui signifie que la trace n'aura pas de longueur maximale et que les segments de trace expireront dans leur Lifetime .
Cette propriété peut être utilisée aux côtés de la propriété MinLength qui détermine la longueur minimale qu'un sentier doit avoir avant d'être dessiné.
MinLength
Cette propriété détermine la longueur minimale du sentier, en studs.Si aucune des attaches de la trace n'a déplacé au moins cette valeur, aucun nouveau segment ne sera créé et les points de fin du segment actuel seront déplacés à la position actuelle des attaches.
Notez que le changement de cette propriété n'affectera que les segments nouveaux qui sont dessinés ; tous les segments anciens qui ont déjà été dessinés conserveront leur longueur actuelle.
Cette propriété peut être utilisée aux côtés de la propriété MaxLength qui détermine la longueur maximale de la trace avant que ses segments les plus anciens soient effacés.
Texture
L'ID du contenu de la texture à afficher sur le sentier.Si cette propriété n'est pas configurer, la trace sera affichée comme un plan solide ; cela se produit également lorsque la texture est définie sur un ID de contenu non valide ou que l'image associée à la texture n'a pas encore été chargée.
L'apparence de la texture peut être modifiée par d'autres propriétés de sentier, y compris Color et Transparency.
L'ajustement de la texture est déterminé par la distance entre Attachment0 et Attachment1, ainsi que par les propriétés TextureMode, TextureLength et WidthScale.
Échantillons de code
This example adds a paw prints texture to a trail object. In order for the paw prints to remain "stamped" in place after rendering, TextureMode is set to Enum.TextureMode.Static.
local TweenService = game:GetService("TweenService")
-- Create a parent part
local part = Instance.new("Part")
part.Material = Enum.Material.SmoothPlastic
part.Size = Vector3.new(2, 1, 2)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Parent = workspace
-- Create attachments on part
local attachment0 = Instance.new("Attachment")
attachment0.Name = "Attachment0"
attachment0.Position = Vector3.new(-1, 0, 0)
attachment0.Parent = part
local attachment1 = Instance.new("Attachment")
attachment1.Name = "Attachment1"
attachment1.Position = Vector3.new(1, 0, 0)
attachment1.Parent = part
-- Create a new trail with color gradient
local trail = Instance.new("Trail")
trail.Attachment0 = attachment0
trail.Attachment1 = attachment1
trail.Texture = "rbxassetid://16178262222"
trail.TextureMode = Enum.TextureMode.Static
trail.TextureLength = 2
trail.Parent = part
-- Tween part to display trail
local dir = 15
while true do
dir *= -1
local goal = { Position = part.Position + Vector3.new(0, 0, dir) }
local tweenInfo = TweenInfo.new(3)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(4)
end
TextureLength
Définit la longueur de la texture de la trace, dépendante de TextureMode. Changer cette propriété affecte immédiatement tous les segments de trace existants et futurs.
TextureMode
Cette propriété, aux côtés de TextureLength, détermine comment les échelles d'une trace Texture se répètent et se déplacent avec les attachments de la trace.Changer cette propriété affecte immédiatement tous les segments de sentier existants et futurs.
Échelle et répétition
Lorsque Mode texture est défini sur Enum.TextureMode.Wrap ou Enum.TextureMode.Static, la propriété TextureLength défini la longueur de la texture lorsqu'elle se répète sur la longueur du trace.

Lorsque Mode texture est défini sur Enum.TextureMode.Stretch, la texture se répétera TextureLength fois sur la longueur globale du trace.

Mouvement
La propriété Mode de texture a également un effet sur le mouvement de la texture du tracecomme suivant :
Si elle est définie à Enum.TextureMode.Stretch, la texture s'étendra en fonction de la durée de vie de la trace et rétrécira à l'intérieur si les attachements de la trace cessent de se déplacer.
Si la valeur est définie sur Enum.TextureMode.Wrap, la texture sera carrelée en fonction de la longueur du parcours, mais les textures resteront immobiles par rapport à leurs raccordements.
Si la valeur est définie sur Enum.TextureMode.Static, la texture sera déployée au fur et à mesure que les pièces jointes se mouvement, et elles resteront en place jusqu'à ce que leur durée de vie soit atteinte.Ce paramètre est idéal pour les textures de sentier qui doivent apparaître «estampées» où elles sont rendues, telles que les empreintes de pattes ou les traces de pneus.
Transparency
Définit la transparence des segments du tracesur sa Lifetime .Cette valeur est un NumberSequence, ce qui signifie qu'elle peut être une valeur statique ou peut changer tout au long de la vie des segments de sentier.
WidthScale
Cette propriété est une NumberSequence qui élargit la largeur de la trace au cours de sa vie.Les valeurs peuvent varier entre 0 et 1, agissant comme un multiplicateur sur la distance entre les attachements de la trace.Par exemple, si les attachements de la trace sont à 2 studd'écart et que la valeur de cette propriété est 0,5, la largeur de la trace sera de 1 étagère et la trace sera centrée entre les deux attachements.
Méthodes
Clear
Cette méthode efface immédiatement tous les segments du parcours et est utile pour nettoyer les sentiers avec une durée de vie plus longue ou pour les cas où le sentier doit être supprimé en raison d'une action spécifique.
L'appel de cette méthode n'affecte que les segments existants.Pour effacer les segments de sentier existants et empêcher temporairement les nouveaux segments d'être dessinés, basculez la propriété de la trace Enabled à false en même temps.