# BallBounce

## Overview

`BallBounce`는 공이 표면과 충돌(바운스)할 때의 상태를 담는 데이터 타입입니다. 충돌 직전의 진행 방향/속도/스핀과 각속도, 충돌 시각과 충돌 후의 방향/속도/스핀 변화, 충돌 지점/법선 등 바운스 이벤트 분석에 필요한 정보를 제공합니다. 리플레이 표시, 물리 파라미터 튜닝, 충돌 반응 디버깅에 활용됩니다.

## Constructors

## Properties

### AngularVelocity

`Vector3`

충돌 직전 각속도 벡터(rad/s). 방향은 회전 축, 크기는 각속도입니다.

#### Code Samples

```lua
local bounce = bounce
print("Incoming ang vel:", bounce.AngularVelocity)
```

### BouncedAngularVelocity

`Vector3`

충돌 이후 각속도 벡터(rad/s).

#### Code Samples

```lua
local bounce = bounce
print("Outgoing ang vel:", bounce.BouncedAngularVelocity)
```

### BouncedDirection

`Vector3`

충돌 이후의 진행 방향 단위 벡터입니다.

#### Code Samples

```lua
local bounce = bounce
print("Outgoing dir:", bounce.BouncedDirection)
```

### BouncedPosition

`Vector3`

충돌 지점의 위치입니다.

#### Code Samples

```lua
local bounce = bounce
print("Hit position:", bounce.BouncedPosition)
```

### BouncedSpeed

`number`

충돌 이후 속도 크기(cm/s).

#### Code Samples

```lua
local bounce = bounce
print("Outgoing speed (cm/s):", bounce.BouncedSpeed)
```

### BouncedSpin

`number`

충돌 이후 스핀(각속도 크기, rad/s).

#### Code Samples

```lua
local bounce = bounce
print("Outgoing spin (rad/s):", bounce.BouncedSpin)
```

### BouncedTime

`number`

바운스 발생 시각(초). 시뮬레이션 타임라인 상의 시간값입니다.

#### Code Samples

```lua
local bounce = bounce
print("Bounce time (s):", bounce.BouncedTime)
```

### CFrame

`CFrame`

충돌 지점을 기준으로 한 공의 자세(`HitPosition + HitRotation` 기준). 위치와 회전을 함께 포함합니다.

#### Code Samples

```lua
local bounce = bounce -- 시뮬레이터로부터 받은 BallBounce
print("Bounce CFrame:", bounce.CFrame)
```

### Direction

`Vector3`

충돌 직전의 진행 방향 단위 벡터입니다.

#### Code Samples

```lua
local bounce = bounce
print("Incoming dir:", bounce.Direction)
```

### ImpactNormal

`Vector3`

충돌 표면의 법선 벡터입니다(표면에 수직한 방향).

#### Code Samples

```lua
local bounce = bounce
print("Impact normal:", bounce.ImpactNormal)
```

### ImpactPoint

`Vector3`

충돌 접촉점의 월드 좌표입니다.

#### Code Samples

```lua
local bounce = bounce
print("Impact point:", bounce.ImpactPoint)
```

### IsSliding

`boolean`

충돌 시 공이 표면 위를 미끄러지고 있는지 여부를 나타냅니다.

#### Code Samples

### Speed

`number`

충돌 직전 속도 크기(cm/s).

#### Code Samples

```lua
local bounce = bounce
print("Incoming speed (cm/s):", bounce.Speed)
```

### Spin

`number`

충돌 직전 스핀(각속도 크기, rad/s).

#### Code Samples

```lua
local bounce = bounce
print("Incoming spin (rad/s):", bounce.Spin)
```

### StartPos

`Vector3`

바운스 시뮬레이션 구간의 시작 위치입니다.

#### Code Samples

```lua
local bounce = bounce
print("Start pos:", bounce.StartPos)
```

## Methods

## Events

## See also

{% content-ref url="/pages/ca0qkgbvP2luHQy0HlFQ" %}
[SimulationBall](/korean/development/api-reference/classes/simulationball.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overdare.com/korean/development/api-reference/datatype/ballbounce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
