A 광선 개체는 텍스처를 그려서 그 사이에 두 개의 Attachments를 연결합니다.
표시하려면 빔이 Workspace 와 그 속성 Attachment0 및 Attachment1 을 설정하여 Attachments 에서 내려오고 또한 Workspace 에서 내려오는 조상인 것이어야 합니다.
빔의 모양은 아래에 설명된 속성 범위를 사용하여 사용자 지정할 수 있습니다. 또한 시각적 예제에 대한 빔 가이드도 참조하십시오.
광선 곡선
광선은 4개의 제어 지점으로 형성된 큐빅 Bézier 곡선을 사용하도록 구성됩니다.즉, 직선에 제한되지 않고 빔의 곡선은 CurveSize0 , CurveSize1 및 빔의 방향 Attachments 을 변경하여 수정할 수 있습니다.
- P0 — 빔의 시작; Attachment0의 위치.
- P3 — 빔의 끝; Attachment1의 위치

코드 샘플
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
요약
속성
Attachment 광선이 발생하는 원천.
Attachment 광선이 끝나는 곳.
LightInfluence)가 1보다 작을 때 발광되는 빔의 크기를 확장합니다. Scales the light emitted from the beam when is less than 1.
그 내에서 빔의 색상을 결정합니다 Segments.
Attachment0 와 함께 결정하여 광선의 Bézier 곡선에서 두 번째 제어 지점의 위치를 결정합니다.
Attachment1 와 함께 결정하여 광선의 Bézier 곡선에서 세 번째 제어점의 위치를 결정합니다.
비빔이 보이는지 여부를 결정합니다.
빔의 Segments 가 항상 카메라를 향하는지, 방향에 관계없이 결정합니다.
빔의 색이 뒤에 있는 색과 어느 정도 섞여 있는지 결정합니다.
빔이 환경의 조명에 영향을 받는 정도를 결정합니다.
빔이 구성된 직선 세그먼트 수를 설정합니다.
광선에 표시될 텍스처의 콘텐츠 ID.
광선의 텍스처 길이를 TextureMode 설정합니다.
Texture의 크기 조정 및 반복 방법을 결정합니다.
Texture 이미지가 빔을 따라 이동하는 속도를 결정합니다.
세그먼트 전체에서 빔의 투명도를 결정합니다.
원점의 빔 너비( Attachment0 ), 스터드로.
끝에서 빔의 너비( Attachment1 ), 스터드로.
스터드 단위의 거리에서, 빔 디스플레이는 CurrentCamera에 대해 오프셋됩니다.
메서드
빔의 텍스처 사이클의 현재 오프셋을 설정합니다.
속성
Attachment0
Attachment 광선이 발생하는 원천.이 부착물은 빔의 큐베리 곡선의 첫 번째 제어점이며, 해당 속성과 함께 CurveSize0 속성은 두 번째 제어점의 위치를 결정합니다.자세한 내용은 광선을 참조하십시오.
광선이 끝나는 곳의 Attachment에 대해서는 Attachment1를 참조하십시오.
Attachment1
Attachment 광선이 끝나는 곳.이 부착물은 빔의 큐빅 베지어 곡선의 네 번째이자 마지막 제어 지점입니다; 그 방향은 CurveSize1 속성과 함께 세 번째 제어 지점의 위치를 결정합니다.자세한 내용은 광선을 참조하십시오.
광선이 발생하는 위치인 Attachment에 대해서는 Attachment0를 참조하십시오.
Brightness
LightInfluence)가 1보다 작을 때 발광되는 빔의 크기를 확장합니다. Scales the light emitted from the beam when is less than 1.이 속성은 기본적으로 1이며 0에서 10000 범위 내의 모든 숫자로 설정할 수 있습니다.LightInfluence의 값을 증가시키면 이 속성의 값의 영향이 줄어듭니다.
Color
그 내에서 빔의 색상을 결정합니다 Segments.Texture가 설정되면 이 색상이 빔의 텍스처에 적용됩니다.Texture 가 설정되지 않으면, Beam 는 이 속성에 따라 색상이 지정된 단단한 선으로 나타납니다.
이 속성은 ColorSequence , 색상이 빔의 길이에 따라 변경되도록 구성할 수 있습니다.다음 ColorSequence를 고려하십시오, 이는 빔에 적용되면 그림에 표시된 결과를 얻을 수 있습니다.
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- 빨강ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- 시안ColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- 보라})

빔의 색상은 또한 Segments의 수에 따라 달라집니다.The beam's coloration also depends on the number of Beam the 가지고 있는지.빔의 각 세그먼트는 두 색상 사이의 전환만 표시할 수 있습니다.따라서 색상이 올바르게 표시되려면 에 최소 개의 세그먼트가 있어야 하며, 는 에서의 개의 수입니다.
CurveSize0
함께 Attachment0 , 광선의 베지어 곡선에서 두 번째 제어점의 위치를 결정합니다. 자세한 내용은 광선 을 참조하십시오.
이 점의 위치는 다음 방정식으로 결정할 수 있습니다:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
함께 Attachment1 , 광선의 베지어 곡선에서 세 번째 제어점의 위치를 결정합니다. 자세한 내용은 광선 을 참조하십시오.
이 점의 위치는 다음 방정식으로 결정할 수 있습니다:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
FaceCamera
A Beam 는 3D 공간에 존재하는 2D 프로젝션으로, 모든 각도에서 볼 수 없을 수 있습니다. 얼굴 카메라 속성, 설정되면 true , 방향에 관계없이 항상 광선이 CurrentCamera 에 향하도록 합니다.
LightEmission
빔의 색이 뒤에 있는 색과 어느 정도 섞여 있는지 결정합니다.범위는 0에서 1 사이여야 합니다.0의 값은 일반 블렌딩 모드를 사용하고 1의 값은 더하기 블렌딩을 사용합니다.
이 속성은 환경 조명에 의해 빔이 영향을 받는 방식을 결정하는 LightInfluence와 혼동되어서는 안됩니다.
이 속성은 환경을 조명하도록 광선을 발생시키지 않습니다.
LightInfluence
빔이 환경의 조명에 영향을 받는 정도를 0과 1 사이에서 결정합니다.0일 때 빔은 환경의 조명에 영향을 받지 않습니다.1일 때, 조명으로 인해 완전히 영향을 받을 것입니다. BasePart처럼.
또한 보기 LightEmission 광선의 색이 뒤에 있는 색과 어느 정도 혼합되는지 지정하는 것을 참조하십시오.
LocalTransparencyModifier
Segments
완벽한 곡선이 아니라, 빔은 직선 세그먼트로 구성됩니다.세그먼트가 많을수록 곡선의 해상도가 높아집니다. 세그먼트 속성은 광선이 10의 기본값으로 구성된 얼마나 많은 직선 세그먼트로 구성되는지 설정합니다.
Color 및 Transparency 속성은 올바르게 표시하려면 특정 수의 세그먼트가 필요하다는 점에 유의하십시오.이는 각 세그먼트가 두 색상이나 투명도 간의 전환만 표시할 수 있기 때문입니다.따라서 최소 Beam 요소를 표시하려면 최소 n-1 세그먼트가 필요하며, n 는 빔의 Color 및 Transparency와 연결된 키포인트의 수입니다.
Texture
광선에 표시될 텍스처의 콘텐츠 ID.이 속성이 설정되지 않으면 빔이 단단한 선으로 표시됩니다; 이는 텍스처에 유효하지 않은 콘텐츠 ID가 설정되거나 텍스처와 관련된 이미지가 아직 로드되지 않은 경우에도 발생합니다.
텍스처의 모양은 Color 및 Transparency와 같은 다른 빔 속성으로 더 수정할 수 있습니다.
텍스처의 크기 조정은 TextureMode, TextureLength, Width0 및 Width1 속성에 의해 결정됩니다.
TextureMode
이 속성과 함께 TextureLength , 광선의 Texture 반복 방법을 결정합니다.
Enum.TextureMode.Wrap 또는 Enum.TextureMode.Static 로 설정되면 텍스처 반복이 빔의 전체 길이(스터드)를 나누어 그 길이가 됩니다(TextureLength ).

Enum.TextureMode.Stretch 로 설정되면 텍스처가 광선의 전체 길이에 걸쳐 TextureLength 번 반복됩니다.

TextureSpeed
Texture 이미지가 빔을 따라 이동하는 속도를 결정합니다.이 속성이 양의 값일 때 빔의 텍스처는 Attachment0 에서 Attachment1 로 이동합니다.이 방향은 이 속성을 음수로 설정하여 반전할 수 있습니다.
Transparency
세그먼트 전체에서 빔의 투명도를 결정합니다.이 속성은 NumberSequence , 빔의 길이에 따라 투명도를 구성할 수 있도록 허용합니다.
다음 NumberSequence를 고려하십시오, 이는 빔에 적용되면 그림에 표시된 결과를 얻을 수 있습니다.
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- 불투명NumberSequenceKeypoint.new(0.5, 1), -- 투명NumberSequenceKeypoint.new(1, 0), -- 불투명})

빔의 투명도는 또한 Segments의 수에 따라 달라집니다.빔의 각 세그먼트는 두 투명도 간의 전환만 표시할 수 있습니다.따라서 빔에는 적어도 세그먼트가 있어야 올바르게 표시되고, 는 내부의 수입니다.
ZOffset
스터드 단위의 거리에서, 빔 디스플레이는 CurrentCamera에 대해 오프셋됩니다.0일 때 빔은 Attachment0 와 Attachment1 사이의 표준 위치에 표시됩니다. ZOffset 는 양이나 음일 수 있습니다.
이 속성은 동일한 Attachments 사이에서 여러 개의 Beams를 사용할 때 "Z‑전투"를 피하는 데 특히 유용합니다.
코드 샘플
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
메서드
SetTextureOffset
빔의 텍스처 사이클 오프셋은 텍스처 애니메이션의 진행도를 나타냅니다.이 메서드는 빔의 텍스처 사이클의 현재 오프셋을 설정하므로, 를 파라미터로 전달하여 사이클을 재설정할 수 있습니다.
노트
- 주어진 offset 매개 변수는 0과 1 사이의 값이 예상되지만 더 큰 값을 사용할 수 있습니다.
- 텍스처 사이클은 0과 1에서 래핑되며, 오프셋이 0이나 1일 때 텍스처가 동일한 위치에 있음을 의미합니다.
- Texture 속성이 설정되지 않으면 이 메서드는 아무 것도 하지 않습니다.
- 오프셋을 증가하면 TextureSpeed 속성의 반대 방향으로 작동하여 텍스처가 TextureSpeed가 0보다 큰 경우 텍스처가 반대 방향으로 이동합니다.
매개 변수
텍스처 사이클의 원하는 오프셋.