Trail
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
O objeto Trilha é usado para criar um efeito de trilha entre dois anexos.À medida que os anexos se movem pelo espaço, uma textura é desenhada em seu plano definido.Isso é comumente usado para criar efeitos que visualizam movimentos como rastros de traços atrás de projéteis, pegadas, faixas de rodas e efeitos semelhantes.
Veja Trilhas para mais informações.
Amostras 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
Resumo
Propriedades
Junto com Attachment1, determina onde o rastro começará a desenhar seus segmentos.
Junto com Attachment0, determina onde o rastro começará a desenhar seus segmentos.
Escala a luz emitida pelo rastro quando LightInfluence é menor que 1.
A cor do rastro ao longo de sua vida útil.
Determina se o rastro será desenhado ou não.
Determina se o rastro sempre vai encarar a Câmera, independentemente de sua orientação.
Determina quanto tempo cada segmento em um rastro vai durar, em segundos.
Determina até que ponto as cores do rastro se misturam com as cores por trás dele.
Determina o grau em que o rastro é influenciado pela iluminação do ambiente.
Define o comprimento máximo do rastro.
Define o comprimento mínimo do rastro.
O ID do conteúdo da textura a ser exibida no rastro.
Define o comprimento da textura do rastro, dependendo de TextureMode.
Determina a maneira pela qual as Texture escalas, repetem e se movem ao longo dos anexos do trilha / rastro.
Define a transparência dos segmentos do trilha / rastrosobre seu Lifetime .
Escala a largura do rastro ao longo da vida útil.
Métodos
Limpa os segmentos do rastro.
Propriedades
Attachment0
Um Trail começa a desenhar seus segmentos nas posições de seu Anexo0 e Attachment1.Quando o rastro é Enabled , ele registra as posições de seus anexos a cada quadro e conecta essas posições às posições dos anexos no quadro anterior, criando um polígono que é então preenchido pelos anexos do trilha / rastroColor e Texture .
Mudar os anexos de um rastro enquanto um rastro está desenhando removerá todos os segmentos que o rastro já desenhou.
Attachment1
Um Trail começa a desenhar seus segmentos nas posições de seu Attachment0 e Anexo1 .Quando o rastro é Enabled , ele registra as posições de seus anexos a cada quadro e conecta essas posições às posições dos anexos no quadro anterior, criando um polígono que é então preenchido pelos anexos do trilha / rastroColor e Texture .
Mudar os anexos de um rastro enquanto um rastro está desenhando removerá todos os segmentos que o rastro já desenhou.
Brightness
Escala a luz emitida pelo rastro quando LightInfluence é menor que 1.Essa propriedade é 1 por padrão e pode ser definida para qualquer número dentro do alcance de 0 a 10000.Aumentar o valor de LightInfluence diminui o efeito do valor dessa propriedade.
Color
Determina a cor do rastro durante toda a sua vida. Se Texture for configurar, essa cor vai colorir a textura.
Essa propriedade é um ColorSequence, permitindo que a cor seja configurada para variar ao longo da duração do rastro.Se a cor mudar depois que alguns segmentos de trilha / rastroforem desenhados, todos os segmentos antigos serão atualizados para combinar com as novas cores.
Amostras 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
Essa propriedade determina se o rastro será desenhado ou não.
Se definido para false enquanto um rastro está sendo desenhado, nenhum novo segmento será desenhado, mas quaisquer segmentos existentes serão limpados naturalmente quando chegarem ao fim de seu Lifetime .Para limpar forçadamente segmentos existentes, chame o método Clear() na mesma vez.
FaceCamera
Um Trail é uma projeção 2D existente no espaço 3D, o que significa que ela pode não ser visível de todos os ângulos.A propriedade Câmera de Rosto , quando definida como true, garante que a trilha sempre esteja voltada para o CurrentCamera, independentemente de sua orientação.
Alterar esta propriedade imediatamente afeta todos os segmentos de trilha existentes e futuros.
Lifetime
A propriedade Tempo de vida determina quanto tempo cada segmento em um rastro durará, em segundos, antes de desaparecer.Padrão para 2 segundos, mas pode ser definido em qualquer lugar entre 0.01 e 20.
A vida útil de um rastro também é usada pelas propriedades Color e Transparency daquele efeito para determinar como cada segmento é desenhado.Ambas essas propriedades são sequências, o que significa que elas definem seus valores em determinados pontos de chave na vida útil do segmento e, em seguida, interpolam entre os valores à medida que o segmento envelhe.
Se a vida útil de um trilha / rastromudar, os segmentos existentes imediatamente se comportarão como se sempre tivessem a nova vida, o que significa que, se eles existirem por mais tempo do que a nova vida, eles serão removidos imediatamente.
LightEmission
Determina até que ponto as cores do rastro se misturam com as cores por trás dele.Deve ser definido no intervalo de 0 a 1.Um valor de 0 usa modos de mistura normais e um valor de 1 usa mistura aditiva.
Essa propriedade não deve ser confundida com LightInfluence que determina como o rastro é afetado pela luz ambiental.
Alterar esta propriedade imediatamente afeta todos os segmentos existentes e futuros da trilha / rastro.
Essa propriedade não causa que a trilha ilumine o ambiente.
LightInfluence
Determina o grau em que o rastro é influenciado pela iluminação do ambiente, restringido entre 0 e 1.Quando 0, o rastro não será afetado pela iluminação do ambiente.Quando 1, será totalmente afetado pela iluminação como um BasePart seria.
Alterar esta propriedade imediatamente afeta todos os segmentos existentes e futuros da trilha / rastro.
Veja também LightEmission que especifica até que ponto as cores do rastro são misturadas com as cores por trás dela.
LocalTransparencyModifier
MaxLength
Essa propriedade determina o comprimento máximo do trilha / rastro, em studs.Seu valor padrão é 0, o que significa que o rastro não terá comprimento máximo e os segmentos de rastro expirarão em seu Lifetime .
Essa propriedade pode ser usada ao lado da propriedade MinLength que determina o comprimento mínimo que um rastro deve ter antes de ser desenhado.
MinLength
Essa propriedade determina o comprimento mínimo do trilha / rastro, em studs.Se nenhum dos anexos do trilha / rastrotiver movido pelo menos esse valor, novos segmentos não serão criados e os pontos finais do segmento atual serão movidos para a posição atual dos anexos.
Observe que alterar esta propriedade afetará apenas novos segmentos que são desenhados; quaisquer segmentos antigos que já foram desenhados manterão seu comprimento atual.
Essa propriedade pode ser usada ao lado da propriedade MaxLength que determina o comprimento máximo do rastro antes que seus segmentos mais antigos sejam apagados.
Texture
O ID do conteúdo da textura a ser exibida no trilha / rastro.Se esta propriedade não for configurar, o rastro será exibido como um plano sólido; isso também ocorre quando a textura é definida para um ID de conteúdo inválido ou a imagem associada à textura ainda não foi carregada.
A aparência da textura pode ser modificada ainda mais por outras propriedades de trilha, incluindo Color e Transparency.
O tamanho da textura é determinado pela distância entre Attachment0 e Attachment1, bem como pelas propriedades TextureMode, TextureLength e WidthScale.
Amostras 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
Define o comprimento da textura do rastro, dependendo de TextureMode. Mudar essa propriedade afeta imediatamente todos os segmentos de rastro existentes e futuros.
TextureMode
Essa propriedade, junto com TextureLength, determina como as escalas, repetições e movimentos de um trilha / rastroTexture se repetem junto com os anexos do trilha / rastro.Alterar esta propriedade imediatamente afeta todos os segmentos de trilha existentes e futuros.
Escala e Repetição
Quando Modo de Textura é definido para Enum.TextureMode.Wrap ou Enum.TextureMode.Static, a propriedade TextureLength define a comprimento da textura enquanto se repete ao longo da comprimento do trilha / rastro.

Quando Modo de Textura é definido para Enum.TextureMode.Stretch , a textura se repetirá TextureLength vezes ao longo da totalidade da trilha / rastro.

Movimento
A propriedade Modo de Textura também afeta o movimento da textura do trilha / rastroda seguinte forma:
Se definido para Enum.TextureMode.Stretch, a textura se estenderá com base na vida útil do trilha / rastroe encolherá para dentro se os anexos do trilha / rastropararem de se mover.
Se definido para Enum.TextureMode.Wrap, a textura será dividida à medida que a duração do rastro muda, mas as texturas permanecerão estáticas em relação aos seus anexos.
Se definido para Enum.TextureMode.Static, a textura será rolada à medida que os anexos se movimentoe permanecerão no lugar até que sua vida útil seja atendida.Essa configuração é ideal para texturas de trilha que devem aparecer "estampadas" onde forem renderizadas, como pegadas de pata ou faixas de rodas.
Transparency
Define a transparência dos segmentos do rastro sobre seu Lifetime .Este valor é um NumberSequence , o que significa que pode ser um valor estático ou pode mudar ao longo da vida dos segmentos de trilha.
WidthScale
Essa propriedade é uma NumberSequence que escala a largura do rastro ao longo de sua vida útil.Os valores podem variar entre 0 e 1, atuando como multiplicador na distância entre os anexos do trilha / rastro.Por exemplo, se os anexos do trilha / rastroestiverem a 2 rebitede distância e o valor dessa propriedade for 0,5, a largura do trilha / rastroserá de 1 metro e o rastro será centrado entre os dois anexos.
Métodos
Clear
Este método limpa imediatamente todos os segmentos do rastro e é útil para limpar rastros com maior tempo de vida ou para casos em que o rastro deve ser removido por causa de uma ação específica.
Chamar este método afeta apenas segmentos existentes.Para limpar os segmentos de trilha existentes e temporariamente impedir que novos segmentos sejam desenhados, ative a propriedade da trilha / rastroEnabled em false ao mesmo tempo.