> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/development/api-reference/datatype/physicalproperties.md).

# PhysicalProperties

## Overview

PhysicalProperties는 BasePart가 물리적으로 어떻게 반응하는지를 정의하기 위한 설정 객체입니다. 밀도, 탄성, 마찰과 같은 물리 요소를 포함하며, 이는 CustomPhysicalProperties 속성을 통해 개별 파트에 적용할 수 있습니다.

또한 각 물리 속성에는 가중치 개념이 함께 제공됩니다. 두 파트가 접촉할 경우, 마찰력과 탄성은 각 파트의 값과 가중치를 종합하여 계산되며, 가중치가 큰 쪽의 영향이 결과에 더 크게 반영됩니다. 가중치가 비슷한 경우에는 두 파트의 특성이 균형 있게 반영된 값이 적용됩니다.

## Constructors

### new

특정 재질에 맞게 정의된 기본 물리 설정을 가진 PhysicalProperties 객체를 생성하여 반환합니다. 반환되는 객체에는 해당 재질의 밀도, 마찰, 탄성과 관련된 값들이 미리 적용되어 있습니다.

#### Parameters

| `Enum.Material` InMaterial | PhysicalProperties의 기반이 될 재질을 지정하며, 해당 재질에 정의된 밀도, 마찰력, 탄성 값을 기준으로 객체가 생성됩니다. |
| -------------------------- | ----------------------------------------------------------------------------- |

#### Return

| `PhysicalProperties` | 생성된 PhysicalProperties입니다. |
| -------------------- | -------------------------- |

#### Code Samples

```lua
local CustomProperties = PhysicalProperties.new(Enum.Material.Wood)
```

### new

특정 재질에 맞게 정의된 기본 물리 설정을 가진 PhysicalProperties 객체를 생성하여 반환합니다. 반환되는 객체에는 해당 재질의 밀도, 마찰, 탄성과 관련된 값들이 미리 적용되어 있습니다.

#### Parameters

| `number` InMaterial | PhysicalProperties의 기반이 될 재질을 지정하며, 해당 재질에 정의된 밀도, 마찰력, 탄성 값을 기준으로 객체가 생성됩니다. |
| ------------------- | ----------------------------------------------------------------------------- |
| `number` arg2       | 재질의 마찰력을 지정합니다. 다른 파트와 접촉할 때 미끄러짐에 영향을 줍니다.                                   |
| `number` arg3       | 재질의 탄성을 지정합니다. 충돌 시 반발 정도에 영향을 미칩니다.                                          |

#### Return

| `PhysicalProperties` | 생성된 PhysicalProperties입니다. |
| -------------------- | -------------------------- |

#### Code Samples

```lua
local CustomProperties = PhysicalProperties.new(Enum.Material.Wood)
```

### new

지정한 밀도, 마찰, 탄성 값을 기반으로 PhysicalProperties 객체를 생성하여 반환합니다. 이를 통해 파트의 물리 특성을 세부적으로 설정할 수 있습니다.

#### Parameters

| `number` InDensity          | 재질의 밀도를 지정합니다. 값이 클수록 파트의 질량이 증가하며, 가속시키는 데 더 많은 힘이 필요합니다.  |
| --------------------------- | ----------------------------------------------------------- |
| `number` InFriction         | 재질의 마찰력을 지정합니다. 다른 파트와 접촉할 때 미끄러짐에 영향을 줍니다.                 |
| `number` InElasticity       | 재질의 탄성을 지정합니다. 충돌 시 반발 정도에 영향을 미칩니다.                        |
| `number` InFrictionWeight   | 마찰력 계산에 사용되는 가중치를 지정합니다. 다른 파트와 상호작용할 때 마찰 값의 영향 비율을 결정합니다. |
| `number` InElasticityWeight | 탄성 계산에 사용되는 가중치를 지정합니다. 충돌 시 탄성 값이 결과에 얼마나 반영될지를 결정합니다.     |

#### Return

| `PhysicalProperties` | 생성된 PhysicalProperties입니다. |
| -------------------- | -------------------------- |

#### Code Samples

```lua
local Density = 0.7
local Friction = 0.3
local Elasticity  = 0.5
local FrictionWeight = 1
local ElasticityWeight = 1

local CustomProperties = PhysicalProperties.new(Density, Friction, Elasticity, FrictionWeight, ElasticityWeight)
```

## Properties

### Density

`number`

재질의 밀도를 지정합니다. 값이 클수록 파트의 질량이 증가하며, 가속시키는 데 더 많은 힘이 필요합니다.

설정 가능한 값은 0에서 1000까지로 제한되며, 범위를 초과한 값은 시스템에 의해 자동으로 보정됩니다.

#### Code Samples

### Elasticity

`number`

재질의 탄성을 지정합니다. 충돌 시 반발 정도에 영향을 미칩니다.

설정 가능한 값은 0에서 1까지로 제한되며, 범위를 초과한 값은 시스템에 의해 자동으로 보정됩니다.

#### Code Samples

### ElasticityWeight

`number`

탄성 계산에 사용되는 가중치를 지정합니다. 충돌 시 탄성 값이 결과에 얼마나 반영될지를 결정합니다.

두 파트의 가중치를 기준으로 최종 탄성 값이 산출되며, 값이 클수록 해당 파트의 반발 특성이 더 강하게 적용됩니다.

#### Code Samples

### Friction

`number`

재질의 마찰력을 지정합니다. 다른 파트와 접촉할 때 미끄러짐에 영향을 줍니다.

설정 가능한 값은 0에서 2까지로 제한되며, 범위를 초과한 값은 시스템에 의해 자동으로 보정됩니다.

#### Code Samples

### FrictionWeight

`number`

마찰력 계산에 사용되는 가중치를 지정합니다. 다른 파트와 상호작용할 때 마찰 값의 영향 비율을 결정합니다.

두 파트가 접촉하면 각자의 가중치를 기준으로 최종 마찰 값이 산출되며, 값이 클수록 해당 파트의 마찰 특성이 더 큰 영향을 미칩니다.

#### Code Samples

## Methods

## Events
