Trail

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Obiekt Ścieżka jest używany do tworzenia efektu ścieżki między dwoma załącznikami.W miarę przemieszczania się załączników przez przestrzeń rysowana jest tekstura na ich określonej płaszczyźnie.Jest to powszechnie używane do tworzenia efektów, które wizualizują ruchy, takie jak ślady śledzące za pociskami, ślady stóp, ścieżki opon i podobne efekty.

Zobacz Ślady dla więcej informacji.

Przykłady kodu

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.

Creating a Part with a Basic 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
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

Podsumowanie

Właściwości

Właściwości

Attachment0

Odczyt równoległy

A Trail zaczyna rysować swoje segmenty na pozycjach swojego załącznika0 i Attachment1.Gdy ścieżka jest Enabled, rejestruje pozycje swoich załączników w każdym ramie i łączy te pozycje z pozycjami załączników na poprzednim ramie, tworząc poligon, który jest następnie wypełniany przez ścieżkę Color i Texture.

Zmiana załączników ścieżki, gdy ścieżka jest rysowana, usunie wszystkie segmenty, które ścieżka już narysowała.

Attachment1

Odczyt równoległy

A Trail zaczyna rysować swoje segmenty na pozycjach swojego Attachment0 i załącznika1 .Gdy ścieżka jest Enabled, rejestruje pozycje swoich załączników w każdym ramie i łączy te pozycje z pozycjami załączników na poprzednim ramie, tworząc poligon, który jest następnie wypełniany przez ścieżkę Color i Texture.

Zmiana załączników ścieżki, gdy ścieżka jest rysowana, usunie wszystkie segmenty, które ścieżka już narysowała.

Brightness

Odczyt równoległy

Skaluje światło emitowane z ścieżki, gdy LightInfluence jest mniejsze niż 1.Właściwość ta jest domyślnie 1 i może być ustawiona na dowolną liczbę w przedziale od 0 do 10000.Zwiększanie wartości LightInfluence zmniejsza efekt wartości tej właściwości.

Odczyt równoległy

Określa kolor ścieżki przez całe jej życie. Jeśli Texture jest ustawiać, ten kolor zabarwi teksturę.

Właściwość ta jest ColorSequence, umożliwiając konfigurację koloru, aby zmieniał się w zależności od długości ścieżki.Jeśli kolor zmieni się po narysowaniu niektórych segmentów ścieżki, wszystkie stare segmenty zostaną zaktualizowane, aby pasowały do nowych kolorów.

Przykłady kodu

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.

Creating a Trail with a Color Gradient

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

Odczyt równoległy

Właściwość ta decyduje, czy ścieżka zostanie narysowana, czy nie.

Jeśli ustawiono na false podczas rysowania ścieżki, nie zostaną rysowane nowe segmenty, ale wszystkie istniejące segmenty zostaną oczyszczone naturalnie, gdy dotrą do końca swojego Lifetime .Aby wymusowo oczyścić istniejące segmenty, wezwij metodę Clear() w tym samym czasie.

FaceCamera

Odczyt równoległy

A Trail jest projekcją 2D istniejącą w przestrzeni 3D, co oznacza, że może nie być widoczna z każdego kąta.Właściwość FaceCamera , ustawiona na true, zapewnia, że ślad zawsze skierowany jest w kierunku CurrentCamera, niezależnie od jego orientacji.

Zmiana tej właściwości natychmiast wpływa na wszystkie istniejące i przyszłe segmenty ścieżek.

Lifetime

Odczyt równoległy

Właściwość Czas życia określa, jak długo każdy segment w śladzie będzie trwać, w sekundach, zanim zniknie.Domyślnie 2 sekund, ale można ustawić w dowolnym miejscu pomiędzy 0.01 a 20.

Czas trwania ścieżki jest również wykorzystywany przez właściwości Color i Transparency efektu do określenia, jak każdy segment jest rysowany.Obie te właściwości są sekwencjami, co oznacza, że określają swoje wartości na pewnych punktach kluczowych w czasie życia segmentu, a następnie wypełniają je między wartościami w miarę starzenia się segmentu.

Jeśli czas trwania ścieżki zmieni się, istniejące segmenty natychmiast zachowają się tak, jakby zawsze miały nowy czas trwania, co oznacza, że jeśli istniały dłużej niż nowy czas, zostaną natychmiast usunięte.

LightEmission

Odczyt równoległy

Określa, w jakim stopniu kolory ścieżki są miksowane z kolorami za nią.Powinien być ustawiony w przedziale od 0 do 1.Wartość 0 używa normalnych trybów mieszania i wartość 1 używa trybu dodawania.

Właściwość ta nie powinna być mylona z LightInfluence, która określa, w jaki sposób ścieżka jest wpływana przez światło środowiskowe.

Zmiana tej właściwości natychmiast wpływa na wszystkie istniejące i przyszłe segmenty ścieżki.

Właściwość ta nie powoduje, że ślad zapala środowisko.

LightInfluence

Odczyt równoległy

Określa stopień, w jakim ścieżka jest wpływana przez oświetlenie środowisko, zamocowane między 0 a 1.Gdy 0, ślad nie będzie wpływany przez oświetlenie środowisko.Gdy 1, będzie w pełni dotknięty oświetleniem, tak jak BasePart byłoby.

Zmiana tej właściwości natychmiast wpływa na wszystkie istniejące i przyszłe segmenty ścieżki.

Zobacz także LightEmission, który określa, w jakim stopniu kolory ścieżki są miksowane z kolorami za nią.

LocalTransparencyModifier

Ukryte
Bez replikacji
Odczyt równoległy

MaxLength

Odczyt równoległy

Właściwość ta określa maksymalną długość ścieżki, w szpilkach.Jego wartość domyślnie wynosi 0, co oznacza, że ścieżka nie będzie miała maksymalnej długości, a segmenty ścieżki wygasną w ich Lifetime .

Właściwość ta może być używana obok właściwości MinLength, która określa minimalną długość ścieżki, zanim zostanie ona narysowana.

MinLength

Odczyt równoległy

Właściwość ta określa minimalną długość ścieżki, w szpilkach.Jeśli żadne z załączników ścieżki nie przesunęło przynajmniej tej wartości, nie zostaną utworzone nowe segmenty, a końce obecnego segmentu zostaną przeniesione do obecnej pozycji załączników.

Zauważ, że zmiana tej właściwości wpłynie tylko na nowe segmenty, które zostaną narysowane; wszystkie stare segmenty, które zostały już narysowane, zachowają swoją obecną długość.

Właściwość ta może być używana obok właściwości MaxLength, która określa maksymalną długość ścieżki przed usunięciem jej najstarszych segmentów.

Texture

ContentId
Odczyt równoległy

ID treści tekstury, która ma być wyświetlona na ścieżce.Jeśli ta właściwość nie jest ustawiać, ślad zostanie wyświetlony jako solidny plan; zdarza się to również, gdy tekstura jest ustawiona na nieprawidłową identyfikator treści lub obraz związany z teksturą nie został jeszcze załadowany.

Wygląd tekstury można dalej modyfikować za pomocą innych właściwości ścieżki, w tym Color i Transparency.

Skalowanie tekstury jest określone przez odległość między Attachment0 a Attachment1, a także przez właściwości TextureMode, TextureLength i WidthScale.

Przykłady kodu

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.

Creating a Trail with a Paw Print Texture

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

Odczyt równoległy

Ustawia długość tekstury ścieżki, zależną od TextureMode. Zmiana tej właściwości natychmiast wpływa na wszystkie istniejące i przyszłe segmenty ścieżki.

TextureMode

Odczyt równoległy

Ta właściwość, wraz z TextureLength, określa, w jaki sposób skala ścieżki Texture powiększa się, powtarza i przemieszcza wraz z załącznikami ścieżki.Zmiana tej właściwości natychmiast wpływa na wszystkie istniejące i przyszłe segmenty ścieżek.

Skala i powtórzenie

Gdy tryb tekstury jest ustawiony na Enum.TextureMode.Wrap lub Enum.TextureMode.Static, właściwość TextureLength ustawia długość tekstury, gdy powtarza się na długości ścieżki.

TextureMode diagram with Wrap mode

Gdy tryb tekstury jest ustawiony na Enum.TextureMode.Stretch, tekstura powtórzy się TextureLength razy na całej długości ścieżki.

TextureMode diagram with Stretch mode

Przesuwanie

Właściwość Tryb tekstury wpływa również na ruch tekstury ścieżki w następujący sposób:

  • Jeśli ustawiono na Enum.TextureMode.Stretch, tekstura rozciągnie się w zależności od czasu trwania ścieżki i skurczy się w przypadku, gdy załączniki ścieżki przestaną się poruszać.

  • Jeśli ustawiono na Enum.TextureMode.Wrap, tekstura będzie płytkowana wraz ze zmianą długości ścieżki, ale tekstury pozostaną stałe względem ich załączników.

  • Jeśli ustawiono na Enum.TextureMode.Static, tekstura zostanie rozwinięta, gdy przesuwane są załączniki, i pozostaną na miejscu, dopóki nie zostanie spełniony ich czas życia.To ustawienie jest idealne dla tekstur ścieżek, które powinny pojawić się "odbite" tam, gdzie są renderowane, takich jak ślady łap lub ścieżki opon.

Transparency

Odczyt równoległy

Ustawia przejrzystość segmentów ścieżki nad jej Lifetime.Wartość ta jest NumberSequence, co oznacza, że może to być wartość statyczna lub może się zmieniać przez cały okres życia segmentów ścieżki.

WidthScale

Odczyt równoległy

Właściwość ta jest NumberSequence, która skaluje szerokość ścieżki w ciągu jej życia.Wartości mogą wynosić od 0 do 1, działając jako mnożnik odległości między załącznikami ścieżki.Na przykład, jeśli załączniki ścieżki są oddalone o 2 szpilki i wartość tej właściwości wynosi 0,5, szerokość ścieżki wyniesie 1 szpilka, a ścieżka zostanie umieszczona pomiędzy dwoma załącznikami.

Metody

Clear

()

Ta metoda natychmiast oczyszcza wszystkie segmenty ścieżki i jest przydatna do oczyszczania ścieżek o dłuższym czasie życia lub w przypadkach, w których ścieżka powinna zostać usunięta ze względu na konkretną akcji.

Wezwanie tej metody wpływa tylko na istniejące segmenty.Aby oczyścić istniejące segmenty ścieżki i tymczasowo uniemożliwić rysowanie nowych segmentów, przełącz właściwość ścieżki Enabled na false w tym samym czasie.


Zwroty

()

Zdarzenia