Beam

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Un oggetto Beam connette due Attachments disegnando una texture tra di loro.

Per visualizzare, un raggio deve essere un discendente del Workspace con le sue Attachment0 e Attachment1 proprietà impostate su 1> Class.Arrow|Arrow11> anche discendente dal 4> Class.Area di lavoro4> .

L'aspetto del raggio può essere personalizzato utilizzando la gamma di proprietà elencate di seguito. Vedi anche la guida Beams per esempi visivi.

Curvatura del raggio

I raggi sono configurati per utilizzare una curva Bézier cubica formata da quattro punti di controllo. Ciò significa che non sono limitati a linee dritte e la curva della beam può essere modificata modificando CurveSize0 , CurveSize1 e l'orientamento della beam's Class.Att

  • P0 — Inizio del raggio; posizione di Attachment0 .
  • P1 — CurveSize0 studs away from Attachment0 , in the positive 0> X0> direction of 3> Class.Beam.Attach0|Attach0 3> .
  • P2 — CurveSize1 studs away from Attachment1 , in the negative 0> X0> direction of 3> Class.Beam.Attach1|Attach1 3> .
  • P3 — La fine del raggio; posizione di Attachment1
Beam curvature diagram

Campioni di codice

Creating a Beam From Scratch

-- create attachments
local att0 = Instance.new("Attachment")
local att1 = Instance.new("Attachment")
-- parent to terrain (can be part instead)
att0.Parent = workspace.Terrain
att1.Parent = workspace.Terrain
-- position attachments
att0.Position = Vector3.new(0, 10, 0)
att1.Position = Vector3.new(0, 10, 10)
-- create beam
local beam = Instance.new("Beam")
beam.Attachment0 = att0
beam.Attachment1 = att1
-- appearance properties
beam.Color = ColorSequence.new({ -- a color sequence shifting from white to blue
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 255, 255)),
})
beam.LightEmission = 1 -- use additive blending
beam.LightInfluence = 0 -- beam not influenced by light
beam.Texture = "rbxasset://textures/particles/sparkles_main.dds" -- a built in sparkle texture
beam.TextureMode = Enum.TextureMode.Wrap -- wrap so length can be set by TextureLength
beam.TextureLength = 1 -- repeating texture is 1 stud long
beam.TextureSpeed = 1 -- slow texture speed
beam.Transparency = NumberSequence.new({ -- beam fades out at the end
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.8, 0),
NumberSequenceKeypoint.new(1, 1),
})
beam.ZOffset = 0 -- render at the position of the beam without offset
-- shape properties
beam.CurveSize0 = 2 -- create a curved beam
beam.CurveSize1 = -2 -- create a curved beam
beam.FaceCamera = true -- beam is visible from every angle
beam.Segments = 10 -- default curve resolution
beam.Width0 = 0.2 -- starts small
beam.Width1 = 2 -- ends big
-- parent beam
beam.Enabled = true
beam.Parent = att0

Sommario

Proprietà

Metodi

Proprietà

Attachment0

Lettura Parallela

Il raggio deriva da. Questo accessorio è il primo punto di controllo sulla curva cubica Bézier del raggio; la sua orientazione, insieme alla ProprietàAttachment, determina la posizione del secondo punto di controllo. Vedi CurveSize0 per ulteriori dettagli.

For the Attachment where the beam ends, see Attachment1 .

Attachment1

Lettura Parallela

Il Attachment del raggio termina qui. Questo accessorio è il quarto e ultimo punto di controllo sulla curva cubica Bézier del raggio; la sua orientazione, insieme alla ProprietàCurveSize1, determina la posizione del terzo punto di controllo. Vedi Beams per ulteriori dettagli.

For the Attachment where the beam originates from, see Attachment0 .

Brightness

Lettura Parallela

Scala la luce emessa dal raggio quando LightInfluence è inferiore a 1. Questa proprietà è 1 per impostazione predefinita e può essere impostata su qualsiasi numero all'interno della gamma di 0 a 10000. L'aumento del valore di LightInfluence riduce l'effetto di questo Proprietà

Lettura Parallela

Determina il colore del raggio attraverso il suo Segments . Se Texture è Impostare, questo colore sarà applicato alla Strutturadel raggio. Se nessun Texture è Impostare, il 1> Class.Beam1> apparirà come una

Questa proprietà è una ColorSequence , che consente al colore di essere configurato per variare lungo la lunghezza del raggio. Considere il seguente ColorSequence che, quando applicato a un raggio, avrebbe restituito il Risultatomostrato.


local colorSequence = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- Rosso
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- Ciano
ColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Viola
}
)

Nota che anche la colorazione del raggio dipende dal numero di Segments che ha. Ogni segmento del raggio può mostrare solo una transizione tra due colori

CurveSize0

Lettura Parallela

Determina, insieme a Attachment0, la posizione del secondo punto di controllo nella curva Bézier del beam. Vedi Beams per ulteriori dettagli.

La posizione di questo punto può essere determinata dall'equazione seguente:


local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)

CurveSize1

Lettura Parallela

Determina, insieme a Attachment1, la posizione del terzo punto di controllo nella curva Bézier del beam. Vedi Beams per ulteriori dettagli.

La posizione di questo punto può essere determinata dall'equazione seguente:


local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)

Enabled

Lettura Parallela

Determina se il raggio è visibile o no.

Quando questa proprietà è impostata su false, il raggio Segments non sarà visualizzato.

FaceCamera

Lettura Parallela

Un Beam è una proiezione 2D esistente nello Spazio3D, il che significa che potrebbe non essere visibile da ogni angolo. La Proprietà FaceCamera , quando impostata su true, garantisce che il raggio sia sempre rivolto alla 1> Class.Area di lavoro.CurrentCamera|CurrentCamera1> , indipendentemente dalla sua orientazione.

LightEmission

Lettura Parallela

Determina in che misura i colori del raggio sono mescolati con i colori dietro di esso. Dovrebbe essere impostato nella gamma di 0 a 1. Un valore di 0 usa i metodi di mescolamento normali e un valore di 1 usa i metodi di mescolamento additivo.

Questa proprietà non dovrebbe essere confusa con LightInfluence che determina il modo in cui il raggio è influenzato dalla luce ambientale.

Questa proprietà non fa non in modo che il raggio illumini l'Ambiente.

LightInfluence

Lettura Parallela

Determina il grado in cui il raggio è influenzato dalla luce Ambiente, fissata tra 0 e 1. Quando 0, il raggio non sarà influenzato dalla luce Ambiente. Quando 1, sarà completamente influenzato dalla luce come BasePart sarebbe.

Vedi anche LightEmission che specifica in che misura i colori del raggio sono mescolati con i colori dietro di esso.

LocalTransparencyModifier

Nascosto
Non Replicato
Lettura Parallela

Segments

Lettura Parallela

Invece di essere una perfetta curva, un raggio è costituito da segmenti retti. Più segmenti, maggiore è la risoluzione della curva. La proprietà Segmenti imposta il numero di segmenti retti del raggio, con un valore predefinito di 10.

Nota che le proprietà Color e Transparency richiedono un certo numero di segmenti per visualizz

Texture

ContentId
Lettura Parallela

L'ID del contenuto della texture da mostrare sul raggio. Se questa proprietà non è Impostare, il raggio verrà visualizzato come una solida linea; questo si verifica anche quando la texture è impostata su un ID di contenuto non valido o l'immagine associata alla texture non è ancora caricata.

L'aspetto della texture può essere ulteriormente modificato da altre proprietà del raggio, tra cui Color e Transparency .

Lo scalaggio della texture è determinato dal TextureMode, TextureLength, Width0, e 2>Class.Beam.Width1|Width12> proprietà.

TextureLength

Lettura Parallela

Imposta la lunghezza della Strutturadel raggio, a seconda di TextureMode .

TextureMode

Lettura Parallela

Questa Proprietà, oltre a TextureLength , determina il modo in cui si ripetisce la ripetizione di un raggio.

Quando impostato su Enum.TextureMode.Wrap o Enum.TextureMode.Static, le ripetizioni di texture saranno uguali alla lunghezza complessiva del raggio (in studs) divisa dalla sua TextureLength .

TextureMode diagram with Wrap mode

Quando impostato su Enum.TextureMode.Stretch, la texture si ripetrà TextureLength volte su tutta la lunghezza del raggio.

TextureMode diagram with Stretch mode

TextureSpeed

Lettura Parallela

Determina la velocità con cui la Texture immagine si muove lungo il raggio. Quando questa proprietà è un valore positivo, la texture del raggio si muove da Attachment0 a Attachment1 . Questa direzione può essere invertita impostando questa proprietà su un valore negativo.

Transparency

Lettura Parallela

Determina la trasparenza del raggio in base ai suoi segmenti. Questa proprietà è un NumberSequence, che consente di configurare la trasparenza per variare sulla lunghezza del raggio.

Considera il seguente NumberSequence che, quando applicato a un raggio, avrebbe restituito il Risultatomostrato.


local numberSequence = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0), -- Opaco
NumberSequenceKeypoint.new(0.5, 1), -- Trasparente
NumberSequenceKeypoint.new(1, 0), -- Opaco
}
)

Nota che la trasparenza del raggio dipende anche dal numero di Segments . Ogni segmento del raggio può mostrare solo una transizione tra due trasparenze. Pertanto, un raggio avrà bisogno di almeno n-1 segmenti per

Width0

Lettura Parallela

La larghezza del raggio all'origine ( Attachment0 ) in studs. La larghezza del raggio cambierà lineolarmente a Width1 studs alla fine ( Attachment1 ) .

Width1

Lettura Parallela

La larghezza del raggio alla sua fine ( Attachment1 )>, in studs. La larghezza del raggio cambierà lineolarmente da Width0 studs all'inizio ( Attachment0 ) .

ZOffset

Lettura Parallela

La distanza, in studs, la visualizzazione del raggio è l'Offset rispetto alla CurrentCamera . Quando 0, il raggio sarà visualizzato nella sua posizione standard tra Attachment0 e Attachment1 . 1> ZOffset1> può essere positivo o negativo.

Questa proprietà è particolarmente utile per evitare "Z-fighting" quando si utilizzano più Beams tra gli stessi Attachments .

Campioni di codice

Layering Beams

-- Create beams
local beam1 = Instance.new("Beam")
beam1.Color = ColorSequence.new(Color3.new(1, 0, 0))
beam1.FaceCamera = true
beam1.Width0 = 3
beam1.Width1 = 3
local beam2 = Instance.new("Beam")
beam2.Color = ColorSequence.new(Color3.new(0, 1, 0))
beam2.FaceCamera = true
beam2.Width0 = 2
beam2.Width1 = 2
local beam3 = Instance.new("Beam")
beam3.Color = ColorSequence.new(Color3.new(0, 0, 1))
beam3.FaceCamera = true
beam3.Width0 = 1
beam3.Width1 = 1
-- Layer beams
beam1.ZOffset = 0
beam2.ZOffset = 0.01
beam3.ZOffset = 0.02
-- Create attachments
local attachment0 = Instance.new("Attachment")
attachment0.Position = Vector3.new(0, -10, 0)
attachment0.Parent = workspace.Terrain
local attachment1 = Instance.new("Attachment")
attachment1.Position = Vector3.new(0, 10, 0)
attachment1.Parent = workspace.Terrain
-- Connect beams
beam1.Attachment0 = attachment0
beam1.Attachment1 = attachment1
beam2.Attachment0 = attachment0
beam2.Attachment1 = attachment1
beam3.Attachment0 = attachment0
beam3.Attachment1 = attachment1
-- Parent beams
beam1.Parent = workspace
beam2.Parent = workspace
beam3.Parent = workspace

Metodi

SetTextureOffset

void

L'Offset di un ciclo di texture rappresenta il progresso della sua animazionidi texture. Questo metodo imposta l'offset corrente del ciclo di texture; quindi, può essere utilizzato per ripristinare il ciclo passando 0 come il parametro offset .

Note

  • Il parametro offset dato è in attesa di essere un valore tra 0 e 1, ma possono essere utilizzati anche valori più grandi.
  • Il ciclo di texture si avvolge a 0 e 1, il che significa che la texture è nella stessa posizione quando l'Offset è a 0 o 1.
  • Se la proprietà Texture non è Impostare, questo metodo non fa nulla.
  • L'aumento dell'Offset agirà nella direzione opposta alla proprietà TextureSpeed, il che significa che sposterà la texture nella direzione opposta alla direzione in cui si animano le texture quando TextureSpeed è maggiore di 0.

Parametri

offset: number

L'Offset desiderato del ciclo di texture.

Valore predefinito: 0

Restituzioni

void

Eventi