Trail
*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 objeto Rastro se usa para crear un efecto de rastro entre dos archivos adjuntos.A medida que los archivos se mueven a través del espacio, se dibuja una textura en su plano definido.Esto se usa comúnmente para crear efectos que visualicen movimientos como rastros de rastreadores detrás de proyectiles, huellas, pistas de neumáticos y efectos similares.
Vea caminos para obtener más información.
Muestras de código
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
Resumen
Propiedades
Junto con Attachment1, determina dónde comenzará el rastro a dibujar sus segmentos.
Junto con Attachment0, determina dónde comenzará el rastro a dibujar sus segmentos.
Escala la luz emitida por el rastro cuando LightInfluence es menor que 1.
El color del rastro durante toda su vida útil.
Determina si el rastro se dibujará o no.
Determina si el rastro siempre se enfrentará a la cámara, independientemente de su orientación.
Determina cuánto durará cada segmento en un rastro, en segundos.
Determina hasta qué punto los colores del rastro se mezclan con los colores que están detrás de él.
Determina el grado en que el rastro es influenciado por la iluminación del entorno, ambiente.
Establece la longitud máxima del rastro.
Establece la longitud mínima del rastro.
El ID del contenido de la textura que se mostrará en el rastro.
Establece la longitud de la textura del rastro, dependiente de TextureMode.
Determina la manera en que las escalas Texture se repiten y se mueven junto con los archivos adjuntos del rastro.
Establece la transparencia de los segmentos del rastro sobre su Lifetime .
Escala el ancho del rastro a lo largo de su vida útil.
Métodos
Limpie los segmentos del rastro.
Propiedades
Attachment0
Un Trail empieza a dibujar sus segmentos en las posiciones de su Archivo0 y Attachment1 .Cuando el rastro es Enabled , registra las posiciones de sus adjuntos en cada marco y conecta estas posiciones a las posiciones de los adjuntos en el marco anterior, creando un polígono que luego es rellenado por las posiciones del rastro Color y Texture .
Cambiar los archivos adjuntos de un rastro mientras se dibuja un rastro eliminará todos los segmentos que el rastro ya ha dibujado.
Attachment1
Un Trail comienza a dibujar sus segmentos en las posiciones de su Attachment0 y Archivo1 .Cuando el rastro es Enabled , registra las posiciones de sus adjuntos en cada marco y conecta estas posiciones a las posiciones de los adjuntos en el marco anterior, creando un polígono que luego es rellenado por las posiciones del rastro Color y Texture .
Cambiar los archivos adjuntos de un rastro mientras se dibuja un rastro eliminará todos los segmentos que el rastro ya ha dibujado.
Brightness
Escala la luz emitida por el rastro cuando LightInfluence es menor que 1.Esta propiedad es 1 por defecto y se puede establecer en cualquier número dentro del rango de 0 a 10000.Aumentar el valor de LightInfluence reduce el efecto del valor de esta propiedad.
Color
Determina el color del rastro durante toda su vida. Si se establecerTexture, este color teñirá la textura.
Esta propiedad es un ColorSequence , permitiendo que el color se configure para variar a lo largo de la rastro.Si el color cambia después de que se hayan dibujado algunos segmentos del trazado, todos los segmentos antiguos se actualizarán para coincidir con los nuevos colores.
Muestras de código
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
Esta propiedad determina si el rastro se dibujará o no.
Si se establece en false mientras se dibuja un rastro, no se dibujarán nuevos segmentos, pero cualquier segmento existente se limpiará naturalmente cuando llegue al final de su Lifetime .Para limpiar forzadamente segmentos existentes, llame al método Clear() en el mismo momento.
FaceCamera
Un Trail es una proyección 2D que existe en el espacio 3D, lo que significa que puede que no sea visible desde todos los ángulos.La propiedad Cámara de cara , cuando se establece en true, garantiza que el rastro siempre se dirija al CurrentCamera, independientemente de su orientación.
Cambiar esta propiedad afecta inmediatamente a todos los segmentos de rastro existentes y futuros.
Lifetime
La propiedad Tiempo de vida determina cuánto durará cada segmento en un rastro, en segundos, antes de desaparecer.Se predetermina a 2 segundos, pero se puede establecer en cualquier lugar entre 0.01 y 20.
La vida de un rastro también es utilizada por las propiedades Color y Transparency de ese efecto para determinar cómo se dibuja cada segmento.Ambas propiedades son secuencias, lo que significa que definen sus valores en ciertos puntos clave en la vida del segmento y luego interpolan entre los valores a medida que el segmento envejece.
Si la vida útil de un rastro cambia, los segmentos existentes se comportarán inmediatamente como si siempre tuvieran la nueva vida, lo que significa que si han existido durante más tiempo que la nueva vida, se eliminarán inmediatamente.
LightEmission
Determina hasta qué punto los colores del rastro se mezclan con los colores que están detrás de él.Debe establecerse en el rango de 0 a 1.Un valor de 0 usa los modos de mezcla normales y un valor de 1 usa la mezcla aditiva.
Esta propiedad no debe confundirse con LightInfluence que determina cómo el rastro es afectado por la luz ambiental.
Cambiar esta propiedad afecta inmediatamente a todos los segmentos existentes y futuros del rastro.
Esta propiedad no hace no que el rastro ilumine el entorno, ambiente.
LightInfluence
Determina el grado en que el rastro es influenciado por la iluminación del entorno, ambiente, ajustado entre 0 y 1.Cuando 0, el rastro no se verá afectado por la iluminación del entorno, ambiente.Cuando 1, estará completamente afectado por la iluminación como lo estaría BasePart.
Cambiar esta propiedad afecta inmediatamente a todos los segmentos existentes y futuros del rastro.
Vea también LightEmission que especifica hasta qué punto se mezclan los colores del rastro con los colores que lo respaldan.
LocalTransparencyModifier
MaxLength
Esta propiedad determina la longitud máxima del rastro, en studs.Su valor predeterminado es 0, lo que significa que el rastro no tendrá una longitud máxima y los segmentos de rastro expirarán en su Lifetime .
Esta propiedad se puede usar junto con la propiedad MinLength que determina la longitud mínima que debe tener un rastro antes de que se dibuje.
MinLength
Esta propiedad determina la longitud mínima del rastro, en studs.Si ninguno de los archivos adjuntos del rastro se ha movido al menos este valor, no se crearán nuevos segmentos y los puntos finales del segmento actual se moverán a la posición actual de los archivos adjuntos.
Tenga en cuenta que cambiar esta propiedad solo afectará nuevos segmentos que se dibujen; cualquier segmento antiguo que ya se haya dibujado mantendrá su longitud actual.
Esta propiedad se puede utilizar junto con la propiedad MaxLength que determina la longitud máxima del rastro antes de que se eliminen sus segmentos más antiguos.
Texture
El ID del contenido de la textura que se mostrará en el rastro.Si esta propiedad no está establecer, el rastro se mostrará como un avión sólido; esto también ocurre cuando la textura se establece en un ID de contenido inválido o la imagen asociada con la textura aún no se ha cargado.
La apariencia de la textura se puede modificar aún más por otras propiedades de rastro, incluidas Color y Transparency.
El escalado de la textura se determina por la distancia entre Attachment0 y Attachment1, así como por las propiedades TextureMode, TextureLength y WidthScale.
Muestras de código
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
Establece la longitud de la textura del rastro, dependiendo de TextureMode. Cambiar esta propiedad afecta inmediatamente a todos los segmentos de rastro existentes y futuros.
TextureMode
Esta propiedad, junto con , determina cómo se escalan, repiten y mueven las escalas de un rastro junto con los archivos adjuntos del rastro.Cambiar esta propiedad afecta inmediatamente a todos los segmentos de rastro existentes y futuros.
Escala y repetición
Cuando el modo de textura está establecido en Enum.TextureMode.Wrap o Enum.TextureMode.Static, la propiedad TextureLength establece la longitud de la textura a medida que se repite a lo largo de la longitud del rastro.

Cuando el modo de textura está establecido en Enum.TextureMode.Stretch, la textura se repetirá TextureLength a lo largo de la longitud total del rastro.

Movimiento
La propiedad Modo de textura también afecta el movimiento de la textura del rastro como sigue:
Si se establece en Enum.TextureMode.Stretch, la textura se estirará en función de la vida útil del rastro y se reducirá si los accesorios del rastro dejan de moverse.
Si se establece en Enum.TextureMode.Wrap, la textura se azuleará a medida que cambie la longitud del rastro, pero las texturas permanecerán estáticas con respecto a sus adjuntos.
Si se establece en Enum.TextureMode.Static, la textura se desplegará a medida que se herramienta de movimientolos archivos adjuntos y permanecerán en su lugar hasta que se cumpla su vida útil.Esta configuración es ideal para las texturas de rastro que deben aparecer "estampadas" donde se renderizan, como huellas de pata o pistas de neumáticos.
Transparency
Establece la transparencia de los segmentos del rastro sobre su Lifetime .Este valor es un NumberSequence , lo que significa que puede ser un valor estático o puede cambiar a lo largo de la vida de los segmentos de rastro.
WidthScale
Esta propiedad es un NumberSequence que escala el ancho del rastro a lo largo de su vida útil.Los valores pueden oscilar entre 0 y 1, actuando como multiplicador en la distancia entre los accesorios del rastro.Por ejemplo, si los archivos adjuntos del rastro están a 2 studde distancia y el valor de esta propiedad es 0.5, el ancho del rastro será de 1 espárrago y el rastro se centrará entre los dos archivos adjuntos.
Métodos
Clear
Este método elimina inmediatamente todos los segmentos del rastro y es útil para limpiar rastros con vidas útiles más largas o para casos en que el rastro deba eliminarse debido a una acción específica.
Llamar a este método solo afecta a segmentos existentes.Para borrar segmentos de rastro existentes y temporalmente evitar que se dibujen nuevos segmentos, alterna la propiedad del rastro Enabled a false al mismo tiempo.