Beam

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

A 빔 개체는 둘 사이의 텍스트를 그리면 두 개체를 연결합니다.

표시하려면 빔이 Workspace 의 하위인 빔 하위 개체여야 하고 Attachment0Attachment1 속성이 2>Class.Workspace2> 에 설정된 하위 속성과 함께 하위 개체여야

빔 모양은 아래에 나열된 속성 범위를 사용하여 사용자 정의할 수 있습니다. 또한 시각적 개체를 위해 가이드를 참조하십시오.

곡선 컬럼

빔은 4개의 제어 점으로 구성된 큐빅 베츠리 곡선을 사용하도록 구성됩니다. 이를 통해 직선 선형 곡선이 아닌 곡선을 변경하여 빔의 길이를 변경할 수 있습니다. Class.Beam.CurveSize0|

  • P0 — 빔의 시작; 위치의 Attachment0 .
  • P1CurveSize0 스터드 떨어진 Attachment0 , 긍정적인 X 방향의 0> Class.Beam.Attach0|Attach00> 에서.
  • P2 — CurveSize1 스터드 아래에서 Attachment1 , 부정 방향의 0>X0> 방향으로 부터 3> Class.Beam.Attach1|Attach1 3> .
  • P3 — 빔의 끝; Attachment1의 위치
Beam curvature diagram

코드 샘플

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

요약

속성

  • 병렬 읽기

    빔의 원본은 Attachment입니다.

  • 병렬 읽기

    Class.Attachment 빔은 끝에 도달합니다.

  • 병렬 읽기

    Class.Beam.LightInfluence|LightInfluence가 1보다 작으면 빔에서 방출되는 라이트의 크기를 조정합니다.

  • 병렬 읽기

    빔의 색을 결정합니다 Segments .

  • 병렬 읽기

    Class.Beam.Attach Class.Beam.附0|Attach0 와 함께 하여 빔의 비율 곡선에 대한 두 번째 제어 점의 위치를 결정합니다.

  • 병렬 읽기

    Class.Beam.Attach1|Attach1 와 함께 사용하면 빔의 비율 곡선에 따라 제어 점의 위치를 결정합니다.

  • 병렬 읽기

    빔이 보이거나 보이지 않도록 합니다.

  • 병렬 읽기

    빔의 Segments가 항상 카메라를 향할지 여부를 결정합니다. 이 경우 빔의 방향은 관계 없습니다.

  • 병렬 읽기

    빔의 색상이 뒤에 있는 색상과 얼마나 혼합되는지 결정합니다.

  • 병렬 읽기

    빔이 환경의 조명에 얼마나 영향을 받는지 결정합니다.

  • 숨김
    복제되지 않음
    병렬 읽기
  • 병렬 읽기

    빔이 만들어지는 직선 부분의 수를 설정합니다.

  • Texture:ContentId
    병렬 읽기

    빔에 표시할 텍스처의 ID입니다.

  • 병렬 읽기

    Class.Beam.TextureMode|TextureMode 에 따라 빔의 텍스처 길이를 설정합니다.

  • Class.Beam.Texture|Texture 스케일과 반복 방식을 결정합니다.

  • 병렬 읽기

    이미지가 빔을 따라 이동하는 속도를 결정합니다. Texture

  • 빔의 각 세그먼트 간의 투명도를 결정합니다.

  • 병렬 읽기

    원래의 빔 너비(Attachment0), 스터드 단위의 빔 너비.

  • 병렬 읽기

    귀하의 범위 끝에 있는 빔의 너비(Attachment1), in studs.

  • 병렬 읽기

    Class.Workspace.CurrentCamera|CurrentCamera 에 대한 빔 표시의 거리, 스터드 단위의 거리는 상대적으로 Class.Workspace.CurrentCamera|CurrentCamera 에 대한 오프셋입니다.

메서드

속성

Attachment0

병렬 읽기

이 지오메트리는 다음에서 온 것입니다. 이 지오메트리는 빔의 큐비츠 곡선의 첫 번째 컨트롤 포인트입니다. 빔의 방향, Attachment 속성과 함께, 이 지오메트리의 두 번째 컨트롤 포인트의 위치를 결정합니다.

빔이 끝나는 위치에 대해서는 Attachment 을 참조하십시오.

Attachment1

병렬 읽기

이 빔에는 끝점이 있습니다. 이 접착은 빔의 큐비츠 곡선의 4번째 및 마지막 컨트롤 점에 대한 것입니다. 이 속성과 함께 위치한 Attachment 속성은 세 번째 컨트롤 점의 위치를 결정합니다. 참조

빔 원래 지점에서 생성되는 경우 Attachment 참조.

Brightness

병렬 읽기

이 속성은 빔의 방출하는 빛을 조정하고, LightInfluence 가 1보다 작을 때 이 속성의 기본값은 1입니다. 이 속성은 범위 0에서 10000 사이의 모든 값에 설정할 수 있습니다. 빔

병렬 읽기

빔의 색을 결정합니다. Segments 의 빔에 적용됩니다. if Texture 가 설정되면 이 색이 빔의 텍스처에 적용됩니다. if Texture 가 설정되

이 속성은 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)), -- 보라색
}
)

또한 빔의 색상은 빔의 가진 수에 따라 변경될 수 있습니다. 각 빔 세그먼트는 최대

CurveSize0

병렬 읽기

Class.Beam.Attach Class.Beam.Attach 와 함께 하 는 빔의 곡선에서 두 번째 제어 점의 위치를 결정합니다. 자세한 내용은 Attachment0 을 참조하십시오.

이 점의 위치는 다음 식으로 결정할 수 있습니다:


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

CurveSize1

병렬 읽기

결정은 빔의 비율 곡선에 따라 셋째 제어 점의 위치를 결정합니다. 자세한 내용은 빔을 참조하십시오.

이 점의 위치는 다음 식으로 결정할 수 있습니다:


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

Enabled

병렬 읽기

빔이 보이거나 보이지 않도록 합니다.

이 속성이 false로 설정되면 빔의 Segments 이 표시되지 않습니다.

FaceCamera

병렬 읽기

Class.Beam 은 3D 공간에 존재하는 2D 프로젝션입니다. 즉, 모든 각도에서 볼 수 없습니다. FaceCamera 속성, 설정에 따라 true 면, 빔이 항상 1> Class.Workspace.CurrentCamera|CurrentCamera1> 를 향합니다. 독립적

LightEmission

병렬 읽기

빔의 색상이 뒤에 있는 색상과 얼마나 혼합되는지 결정합니다. 범위는 0에서 1로 설정해야 합니다. 0의 값은 일반적인 혼합 모드를 사용하고 1의 값은 추가 혼합 모드를 사용합니다.

이 속성은 LightInfluence 가 아닙니다. 이 속성은 빔이 환경 빛에 어떻게 영향을 받는지 결정합니다.

이 속성은 빔이 환경을 조명하지 않도록 합니다.

LightInfluence

병렬 읽기

0에서 1 사이의 환경 조명에 의해 빔이 얼마나 영향을 받는지 결정합니다. 0일 때 빔은 환경 조명에 영향을 받지 않습니다. 1일 때 빔은 클랩된 상태에서 완전히 영향을 받습니다.

또한 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상 섬유의 색상

LocalTransparencyModifier

숨김
복제되지 않음
병렬 읽기

Segments

병렬 읽기

완벽한 곡선이 아닌 대신, 빔은 직선 세그먼트로 구성됩니다. 더 많은 세그먼트는 빔의 해상도를 높이지만, 세그먼트 속성은 빔이 얼마나 많은 직선 세그먼트로 구성되는지 설정합니다. 기본값은 10입니다.

Class.Beam.Color|Color 및 Transparency 속성에는 빔의 Class.Beam

Texture

ContentId
병렬 읽기

빔에 표시할 텍스처의 콘텐츠 ID입니다. 이 속성이 설정되지 않으면 빔이 고정 줄로 표시됩니다; 이는 텍스처가 잘못된 콘텐츠 ID로 설정되었거나 텍스처와 관련된 이미지가 아직 로드되지 않았을 때 모두 발생합니다.

텍스처의 모양은 ColorTransparency 등의 다른 빔 속성을 통해 더 수정할 수 있습니다.

텍스처의 크기는 TextureMode , Class.Beam.TextureLength|TextureLength , Class.Beam.Width0|Width0 , 및 1> Class.Beam.Width1|Width11> 속성에 따라 결정됩니다.

TextureLength

병렬 읽기

Class.Beam.TextureMode|TextureMode 에 따라 빔의 텍스처 길이를 설정합니다.

TextureMode

병렬 읽기

이 속성은 TextureLength 와 함께 빔의 Texture 반복을 결정합니다.

Class.Beam.TextureLength|TextureLength 을 제외하고 텍스처 반복은 빔의 전체 길이(in studs)를 나눈 값으로 일치합니다. 이 경우 Enum.TextureMode.Static 또는 TextureLength 이 됩니다.

TextureMode diagram with Wrap mode

설정된 경우 Enum.TextureMode.Stretch 및 전체 길이 TextureLength 의 경우 텍스처가 전체 길이 Class.Beam.TextureLength|TextureLength 의 경우 텍스처가 반복됩니다.

TextureMode diagram with Stretch mode

TextureSpeed

병렬 읽기

Class.Beam.Texture|Texture 이미지가 빔을 따라 이동하는 속도를 결정합니다. 이 속성이 양수 값인 경우 빔의 텍스처는 Attachment0에서 Attachment1 로 이동합니다. 이 방향은 속

Transparency

병렬 읽기

빔의 각 세그먼트 간의 투명도를 결정합니다. 이 속성은 NumberSequence 이며, 빔의 길이에 따라 투명도를 구성할 수 있습니다.

다음 NumberSequence 를 고려하십시오. 이 경우 빔에 적용되면 그림에 표시된 결과를 생성합니다.


local numberSequence = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0), -- 불투명
NumberSequenceKeypoint.new(0.5, 1), -- 투명
NumberSequenceKeypoint.new(1, 0), -- 불투명
}
)

빔의 투명도는 또한 빔의 각 세그먼트에 있는 세그먼트 수에 따라 변경됩니다. 빔의 각 세그먼트는 최소 n개의 세그먼트 이상을 가질

Width0

병렬 읽기

원래 범위의 빔 너비 (Attachment0), 스터드. 범위 너비는 직선적으로 변경되어 Width1 스터드에 도달합니다 (Attachment1).

Width1

병렬 읽기

빔의 끝(Attachment1), 스터드 단위의 빔 너비는 원래( Class.Beam.Width0|Width0) 빔 너비에서 직선적으로 변경됩니다( Class.Beam.Attach0|Attach0)).

ZOffset

병렬 읽기

범위, 인치, 빔 표시는 클래스 워크 스페이스 현재 카메라 | 현재 카메라 (Class.Workspace.CurrentCamera|CurrentCamera) 와 비교하여 표시됩니다. 0일 때 빔은 클래스 워크 스페이스 현재 카메라 | 클래스 워크 스페이스 현재 카메라

이 속성은 다음 Beams 에 대해 여러 개의 Attachments 을 사용할 때 특히 유용합니다.

코드 샘플

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

메서드

SetTextureOffset

void

빔의 텍스처 사이클의 오프셋은 텍스처 애니메이션의 진행 상황을 나타냅니다. 이 메서드는 빔의 텍스처 사이클의 현재 오프셋을 설정하므로 텍스처 애니메이션을 재설정하려면 빔의 텍스처 사이클을 0 으로 전달하여 사이클을 재설정할 수 있습니다

노트

  • 지정된 offset 매개 변수는 0에서 1 사이의 값이어야 하지만 더 큰 값을 사용할 수 있습니다.
  • 텍스처 사이클은 0과 1에 감싸여 있으므로 오프셋이 0이거나 1인 경우 텍스처가 동일한 위치에 있습니다.
  • Class.Beam.Texture|Texture 속성이 설정되지 않으면 이 메서드는 작동하지 않습니다.
  • 오프셋을 증가하면 TextureSpeed 속성으로 반대 방향으로 이동하여 텍스처를 반대 방향으로 애니메이션할 수 있습니다. 이는 오프셋이 TextureSpeed 보다 크면 텍스처를 더 작은 방향으로 애니메이션할 수 있음을 의미합니다.

매개 변수

offset: number

텍스처 사이클의 원하는 오프셋.

기본값: 0

반환

void

이벤트