# Beam

Beam : `Instance`

## Overview

두 개의 Attachment 사이를 연결하는 인스턴스로, 시작점과 끝점을 지정하면 자동으로 연결되며, 레이저, 전기, 에너지 빔 같은 효과를 만들 때 사용됩니다.

## Properties

### Attachment0

`Attachment`

Beam의 출발점을 정의하는 Attachment입니다.

빔의 곡선을 구성하는 초기 기준점으로 사용되며, Attachment의 회전 방향과 CurveSize0 값에 따라 다음 제어점의 위치가 계산됩니다. 이를 통해 빔의 휘어짐과 형태가 결정됩니다.

#### Code Samples

```lua
local Beam = script.Parent
local Workspace = game:GetService("Workspace")
local Part = Workspace:WaitForChild("Part")
local Attachment0 = Part:WaitForChild("Attachment0")

Beam.Attachment0 = Attachment0
```

### Attachment1

`Attachment`

Beam의 도착점을 정의하는 Attachment입니다.

빔의 곡선을 구성하는 마지막 기준점으로 사용되며, Attachment의 회전 방향과 CurveSize1 값에 따라 이전 제어점의 위치가 계산됩니다. 이를 통해 빔의 휘어짐과 형태가 결정됩니다.

#### Code Samples

```lua
local Beam = script.Parent
local Workspace = game:GetService("Workspace")
local Part = Workspace:WaitForChild("Part")
local Attachment1 = Part:WaitForChild("Attachment1")

Beam.Attachment1 = Attachment1
```

### Color

`ColorSequence`

Beam이 어떤 색상으로 점진적으로 표시될지 ColorSequence를 이용하여 설정할 수 있습니다.

Beam에 텍스처가 적용된 경우, 해당 텍스처 위에 이 색상이 오버레이되어 표현됩니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.Color = ColorSequence.new(Color3.fromRGB(255, 0, 0))
```

### CurveSize0

`number`

Attachment0과 함께 빔을 구성하는 배지어 곡선의 두 번째 제어점 위치를 정의합니다.

해당 제어점은 빔의 곡률과 흐름을 형성하는 핵심 요소로, Attachment0의 방향과 이 값이 결합되어 배지어 곡선의 형태가 결정됩니다. 이를 통해 빔의 휘어짐 정도와 시각적 표현을 세밀하게 조정할 수 있습니다.&#x20;

#### Code Samples

```lua
local Beam = script.Parent

Beam.CurveSize0 = 1
```

### CurveSize1

`number`

Attachment1과 함께 빔을 구성하는 배지어 곡선의 세 번째 제어점 위치를 정의합니다.

해당 제어점은 빔의 곡률과 흐름을 형성하는 핵심 요소로, Attachment1의 방향과 이 값이 결합되어 배지어 곡선의 형태가 결정됩니다. 이를 통해 빔의 휘어짐 정도와 시각적 표현을 세밀하게 조정할 수 있습니다.&#x20;

#### Code Samples

```lua
local Beam = script.Parent

Beam.CurveSize1 = 1
```

### Enabled

`bool`

Beam의 표시 여부를 지정하는 속성입니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.Enabled = false
```

### FaceCamera

`bool`

빔이 항상 카메라를 향하도록 설정하는 속성입니다.

빔은 3차원 공간에 존재하는 평면 기반 객체이므로 카메라의 위치나 각도에 따라 화면에서 보이지 않을 수 있습니다. FaceCamera 값이 활성화되면 빔은 현재 사용 중인 카메라를 기준으로 자동으로 회전하여 항상 정면을 향하도록 유지됩니다. 이를 통해 다양한 시점에서도 빔의 가시성을 안정적으로 확보할 수 있습니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.FaceCamera = true
```

### Texture

`string`

Beam에 표현할 텍스처를 지정하는 속성입니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.Texture = "ovdrassetid://1234"
```

### TextureLength

`number`

Beam에 적용된 텍스처의 길이를 지정하는 속성입니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.TextureLength = 10
```

### TextureSpeed

`number`

Beam에 적용된 텍스처의 속도를 지정하는 속성입니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.TextureSpeed = 5
```

### Transparency

`NumberSequence`

Beam이 생성되고 사라질 때 NumberSequence를 사용하여 투명도가 점진적으로 변화하도록 설정할 수 있습니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.Transparency = NumberSequence.new(0.5)
```

### Width0

`number`

Beam의 시작 부분 너비를 지정하는 속성입니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.Width0 = 10
```

### Width1

`number`

Beam의 끝 부분 너비를 지정하는 속성입니다.

#### Code Samples

```lua
local Beam = script.Parent

Beam.Width1 = 10
```

## Methods

## Events

## See also

{% content-ref url="../../../manual/studio-manual/object/vfx" %}
[vfx](https://docs.overdare.com/korean/manual/studio-manual/object/vfx)
{% endcontent-ref %}
