Beam
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Um objeto Viga conecta dois Attachments por meio de desenhar uma textura entre eles.
Para exibir, um feixe deve ser um descendente do Workspace com suas propriedades Attachment0 e Attachment1 definidas para Attachments descer também do Workspace .
A aparência do feixe pode ser personalizada usando o conjunto de propriedades descrito abaixo. Veja também o guia Raios para exemplos visuais.
Curvatura do Raio
Os feixes são configurados para usar uma curva Bézier cúbica formada por quatro pontos de controle.Isso significa que eles não são limitados a linhas retas e a curva do feixe pode ser modificada alterando CurveSize0 , CurveSize1 e a orientação do feixe de Attachments.
- P0 — O início do feixe; posição de Attachment0.
- P1 — metros longe de , na direção positiva de X .
- P2 — metros longe de , na direção negativa de X .
- P3 — O fim do feixe; posição de Attachment1

Amostras de código
This code sample demonstrates how a Beam effect can be created from scratch by creating a Beam, setting all of its properties and configuring it's Attachments.
-- 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
Resumo
Propriedades
O Attachment da onde o feixe se origina.
O Attachment o feixe termina em.
Escala a luz emitida pelo feixe quando LightInfluence é menor que 1.
Determina a cor do feixe através de sua Segments .
Determina, junto com Attachment0, a posição do segundo ponto de controle na curva de Bézier do feixe.
Determina, junto com Attachment1, a posição do terceiro ponto de controle na curva de Bézier do feixe.
Determina se o feixe é visível ou não.
Determina se o Segments da viga sempre estará virado para a Câmera, independentemente de sua orientação.
Determina até que ponto as cores do feixe se misturam com as cores por trás dele.
Determina o grau em que o feixe é influenciado pela iluminação do ambiente.
Define quantos segmentos reto o feixe é composto.
O ID do conteúdo da textura a ser exibida no feixe.
Define o comprimento da textura do feixe, dependendo de TextureMode.
Determina a maneira pela qual as Texture escalas e repetem.
Determina a velocidade em que a imagem Texture se move ao longo do feixe.
Determina a transparência do feixe através de seus segmentos.
A largura do feixe em sua origem ( Attachment0 ), em studs.
A largura do feixe no seu fim ( Attachment1 ), em studs.
A distância, em studs, o display do feixe é deslocado em relação ao CurrentCamera .
Métodos
Define o deslocamento atual do ciclo de textura do feixe.
Propriedades
Attachment0
O Attachment da onde o feixe se origina.Este anexo é o primeiro ponto de controle na curva cúbica de Bézier do feixe; sua orientação, ao lado da propriedade CurveSize0, determina a posição do segundo ponto de controle.Veja Raios para mais detalhes.
Para o Attachment, veja Attachment1.
Attachment1
O Attachment o feixe termina em.Este anexo é o quarto e último ponto de controle na curva cúbica de Bézier do feixe; sua orientação, junto com a propriedade CurveSize1 determina a posição do terceiro ponto de controle.Veja Raios para mais detalhes.
Para o Attachment onde o feixe se origina, veja Attachment0 .
Brightness
Escala a luz emitida pelo feixe 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 feixe através de sua Segments .Se Texture for configurar, esta cor será aplicada à textura do feixe.Se nenhum Texture for configurar, o Beam aparecerá como uma linha sólida colorida de acordo com esta propriedade.
Essa propriedade é um ColorSequence, permitindo que a cor seja configurada para variar ao longo da comprimento do feixe.Considere o seguinte ColorSequence que, quando aplicado a um feixe, produziria o resultado pintado.
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- VermelhoColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- CianoColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Roxo})

Observe que a coloração do feixe também depende do número de Segments que o Beam tem.Cada segmento do feixe só pode mostrar uma transição entre duas cores.Portanto, um Beam precisará ter pelo menos n-1 segmentos para que a cor seja exibida corretamente, onde n é o número de ColorSequenceKeypoints na ColorSequence.
CurveSize0
Determina, junto com Attachment0, a posição do segundo ponto de controle na curva de Bézier do feixe. Veja Raios para mais detalhes.
A posição deste ponto pode ser determinada pela seguinte equação:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
Determina, junto com Attachment1, a posição do terceiro ponto de controle na curva de Bézier do feixe. Veja Raios para mais detalhes.
A posição deste ponto pode ser determinada pela seguinte equação:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
Enabled
Determina se o feixe é visível ou não.
Quando esta propriedade é definida como falsa, o Segments do feixe não será exibido.
FaceCamera
Um Beam é 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 o feixe sempre esteja voltado para o CurrentCamera, independentemente de sua orientação.
LightEmission
Determina até que ponto as cores do feixe 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 feixe é afetado pela luz ambiental.
Essa propriedade não causa que o feixe ilumine o ambiente.
LightInfluence
Determina o grau em que o feixe é influenciado pela iluminação do ambiente, restringido entre 0 e 1.Quando 0, o feixe não será afetado pela iluminação do ambiente.Quando 1, será totalmente afetado pela iluminação como um BasePart seria.
Veja também LightEmission que especifica até que ponto as cores do feixe são misturadas com as cores por trás dele.
LocalTransparencyModifier
Segments
Em vez de ser uma curva perfeita, um feixe é composto por segmentos reto.Quanto mais segmentos, maior a resolução da curva.A propriedade Segmentos define quantos segmentos reto o feixe é composto, com um valor padrão de 10.
Observe que as propriedades Color e Transparency requerem um certo número de segmentos para serem exibidas corretamente.Isso porque cada segmento só pode mostrar uma transição entre duas cores ou transparências.Portanto, um Beam requer pelo menos n-1 segmentos para ser exibido corretamente, onde n é o número de ponto de chave associado ao feixe de Color e Transparency.
Texture
O ID do conteúdo da textura a ser exibida no feixe.Se esta propriedade não for configurar, o feixe será exibido como uma linha sólida; 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 feixes, incluindo Color e Transparency.
O dimensionamento da textura é determinado pelas propriedades TextureMode, TextureLength, Width0 e Width1.
TextureMode
Essa propriedade, junto com TextureLength , determina como uma repetição de feixe Texture se repete.
Quando definido para Enum.TextureMode.Wrap ou Enum.TextureMode.Static, as repetições de textura serão iguais à comprimento total do feixe (em studs) dividido por seu TextureLength.

Quando definido para Enum.TextureMode.Stretch , a textura se repetirá TextureLength vezes ao longo da comprimento total do feixe.

TextureSpeed
Determina a velocidade em que a imagem Texture se move ao longo do feixe.Quando essa propriedade é um valor positivo, a textura do feixe se moverá de Attachment0 para Attachment1 .Essa direção pode ser invertida ao definir essa propriedade para um número negativo.
Transparency
Determina a transparência do feixe através de seus segmentos.Essa propriedade é um NumberSequence, permitindo que a transparência seja configurada para variar ao longo da comprimento do feixe.
Considere o seguinte NumberSequence que, quando aplicado a um feixe, produziria o resultado pintado.
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- OpacoNumberSequenceKeypoint.new(0.5, 1), -- TransparenteNumberSequenceKeypoint.new(1, 0), -- Opaco})

Observe que a transparência do feixe também depende do número de Segments.Cada segmento do feixe só pode mostrar uma transição entre duas transparências.Portanto, um feixe precisará ter pelo menos n-1 segmentos para ser exibido corretamente, onde n é o número de NumberSequenceKeypoints em NumberSequence .
Width0
A largura do feixe em sua origem ( Attachment0 ), em studs. A largura do feixe mudará linearmente para Width1 studs no final dele ( Attachment1 ).
Width1
A largura do feixe no final ( Attachment1 ), em studs. A largura do feixe mudará linearmente de Width0 studs em sua origem ( Attachment0 ).
ZOffset
A distância, em studs, o display do feixe é deslocado em relação ao CurrentCamera .Quando 0, o feixe será exibido em sua posição padrão entre Attachment0 e Attachment1. ZOffset pode ser positivo ou negativo.
Essa propriedade é particularmente útil para evitar "Z‑combate" ao usar vários entre o mesmo .
Amostras de código
This code sample uses the Beam.ZOffset property to layer multiple beams between the same attachments.
-- 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
Métodos
SetTextureOffset
O deslocamento do ciclo de textura de um feixe representa o progresso de sua animaçõesde textura.Este método define o deslocamento atual do ciclo de textura do feixe; portanto, ele pode ser usado para redefinir o ciclo passando 0 como o parâmetro offset.
Notas
- O parâmetro dado offset é esperado ser um valor entre 0 e 1, mas valores maiores podem ser usados.
- O ciclo de textura termina em 0 e 1, o que significa que a textura está na mesma posição quando o deslocamento está em 0 ou 1.
- Se a propriedade Texture não for configurar, este método não faz nada.
- Aumentar o deslocamento atuará na direção inversa à propriedade TextureSpeed, o que significa que moverá a textura na direção oposta à direção em que a textura anima quando TextureSpeed for maior que 0.
Parâmetros
O deslocamento desejado do ciclo de textura.