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 proprietà Attachment0 e Attachment1 impostate su Attachments anche discendenti dal Workspace .

L'aspetto del raggio può essere personalizzato utilizzando la gamma di proprietà descritte qui sotto. Vedi anche la guida Fasi per esempi visivi.

Curvatura del raggio

I fascii sono configurati per utilizzare una curva cubica di Bézier formata da quattro punti di controllo.Questo significa che non sono limitati a linee rette e la curva del fascio può essere modificata cambiando CurveSize0 , CurveSize1 e l'orientamento del fascio di Attachments .

Beam curvature diagram

Campioni di codice

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.

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à

Proprietà

Attachment0

Lettura Parallela

Attachment1

Lettura Parallela

Brightness

Lettura Parallela
Lettura Parallela

CurveSize0

Lettura Parallela

CurveSize1

Lettura Parallela

Enabled

Lettura Parallela

FaceCamera

Lettura Parallela

LightEmission

Lettura Parallela

LightInfluence

Lettura Parallela

LocalTransparencyModifier

Nascosto
Non Replicato
Lettura Parallela

Segments

Lettura Parallela

Texture

ContentId
Lettura Parallela

TextureLength

Lettura Parallela

TextureMode

Lettura Parallela

TextureSpeed

Lettura Parallela

Transparency

Lettura Parallela

Width0

Lettura Parallela

Width1

Lettura Parallela

ZOffset

Lettura Parallela

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

()

Parametri

offset: number
Valore predefinito: 0

Restituzioni

()

Eventi