๐ฎ AICharacter ํผํ๊ธฐ: ๋๋ค ์ํ & ๋์ด๋ ์ฆ๊ฐ ์์คํ
โ ๋ชฉํ

Event BeginPlay โ Random Float in Range (6~10์ด) โ Timer ๋ณ์์ ์ ์ฅ
Random Float in Range๋ ์ง์ ํ ๋ฒ์ ๋ด์์ ๋๋คํ ์๊ฐ ๊ฐ ์์ฑ

Event Tick
โ Timer -= DeltaSeconds
โ Timer ๊ฐ์ด 0 ์ดํ์ธ์ง ๋ธ๋์น๋ก ์ฒดํฌ
โ 0๋ณด๋ค ์์์ง๋ฉด ์๋ก์ด ๋๋ค ํ์ด๋จธ๋ก ๋ฆฌ์

- Get Navigation System
- Get Random Location in Navigable Radius
- Spawn Actor (AI ๋ฅดํ์ด)
Get Navigation System
๋ค๋น๊ฒ์ด์
๊ฐ๋ฅํ ์ง์ญ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํ ์์คํ
์ ๊ทผ
Get Random Location in Navigable Radius
ํน์ ๋ฐ๊ฒฝ ๋ด์์ AI๊ฐ ์ด๋ ๊ฐ๋ฅํ ์์น๋ฅผ ๋๋ค์ผ๋ก ๋ฐํ
์ถฉ๋ ์ํ์ด ์ ๊ณ , ์ด๋ ๊ฐ๋ฅํ ์์น๋ง ๋ฐํ๋จ
Spawn Actor
Class AI ๋ฅดํ์ด ์ง์ Collision Handling Override ์กํฐ๋ฅผ ์คํฐํ ๋ ๊ฒน์นจ(์ถฉ๋)์ด ๋ฐ์ํ๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์ ํ๋ ์ค์ | ์ต์ | ํ๋ |
|---|---|
| Always Spawn | ๊ฒน์ณ๋ ๋ฌด์กฐ๊ฑด ์์ฑ |
| Adjust if Possible But Don't Spawn if Colliding | ๋น์ผ์ ์ํ ๊ฐ๋ฅํ๋ฉด ํ๊ณ , ์ ๋๋ฉด ์๋ต |
| Don't Spawn if Colliding | ๊ฒน์น๋ฉด ์ ๋ ์ํ ์ ํจ |
| Try to Adjust Location, But Always Spawn | ๋นํค๋ ค ๋ ธ๋ ฅํ๊ณ , ์ ๋๋ฉด ๊ทธ๋ฅ ๊ฐ์ ์์ฑ โ ์ง๊ธ ์ ํ๋ ๊ฒ |

Spawn Default Controller โ Run Behavior Tree
Spawn Default Controller๋ก AIController ํ ๋น + Behavior Tree ์คํ
- Get Time Seconds โ ํ์ฌ ๊ฒ์ ์คํ ์๊ฐ (Float)
- Divide 20 โ 20์ด๋น 1 ์คํ
์ด์ง
- To Integer64 (Float) โ ์ ์๋ก ๋ณํ (์์์ ๋ด๋ฆผ)
๐ Stage ๊ณ์ฐ์ ์์
| ๊ฒฝ๊ณผ ์๊ฐ (์ด) | ๋๋๊ธฐ 20 | ์ ์ ๋ณํ ๊ฒฐ๊ณผ (Stage) |
|---|---|---|
| 0 | 0 | 0 |
| 19 | 0.95 | 0 |
| 20 | 1.0 | 1 |
| 40 | 2.0 | 2 |
| 65 | 3.25 | 3 |
To Integer ๋ณํ ์ ์์์ ์ดํ ๋ด๋ฆผ๋จ (1.9 โ 1)
EventTick์ ๋ฃ๋ ์ด์
Get Time Seconds๋ ๊ณ์ ์ฆ๊ฐํ๋ ๊ฐ์ด๋ฏ๋กEventTick ์์ ๋ฃ์ด์ผ ์๊ฐ์ด ํ๋ฅผ ๋๋ง๋ค ์ค์๊ฐ ๊ณ์ฐ ๊ฐ๋ฅ์์ฝ


Random Float in Range (6~10)
- (Stage * 0.5)
โ Clamp(์ต์ 1์ด)๋ก ์ ํ
โ Timer ์ธํ
Stage๊ฐ ์ฌ๋ผ๊ฐ์๋ก 0.5์ด์ฉ ์ํ ๊ฐ๊ฒฉ์ด ์ค์ด๋ฌ
๐ ๋์ด๋ ๋ณํ ์์
| ์คํ ์ด์ง | ํ์ด๋จธ ๊ฐ์๋ | ์์ฑ ์๋ |
|---|---|---|
| 0 | 0์ด ๊ฐ์ | ๋๋ฆผ |
| 4 | 2์ด ๊ฐ์ | ๋ณดํต |
| 10 | 5์ด ๊ฐ์ (์ต๋) | ๋งค์ฐ ๋น ๋ฆ |
๐ ์ํ ๊ฐ๊ฒฉ ๊ณ์ฐ
์ํ ์๊ฐ = Random Float (6~10) - (Stage ร 0.5)
โ ๋จ, ์ต์ 1์ด๋ก Clamp
| ์คํ ์ด์ง | ์ํ ์๊ฐ ๋ฒ์ | ํ์ด๋จธ ๊ฐ์๋ | ์์ฑ ์๋ |
|---|---|---|---|
| 0 | 6~10์ด | 0์ด ๊ฐ์ | ๋๋ฆผ |
| 4 | 4 | 2์ด ๊ฐ์ | ๋ณดํต |
| 10 | 1 | 5์ด ๊ฐ์ | ๋งค์ฐ ๋น ๋ฆ |
| 12 | 0 | 6์ด ๊ฐ์ โ Clamp | ์ต๋ ๋์ด๋ |

โ ์ฒ์: Game Time / 20
โ ์์ ํ: Game Time / 2
๐ Stage ๊ณ์ฐ์ ๋ณ๊ฒฝ ์ ํ ๋น๊ต
| ๊ฒฝ๊ณผ ์๊ฐ (์ด) | Game Time รท 20 (์์ ์ ) | Game Time รท 2 (์์ ํ) | Stage ์ฆ๊ฐ ์๋ |
|---|---|---|---|
| 0 | 0 | 0 | ๋์ผ |
| 10 | 0 | 5 | ๋น ๋ฆ |
| 20 | 1 | 10 | ๋งค์ฐ ๋น ๋ฆ |
| 40 | 2 | 20 | |
| 60 | 3 | 30 |