๋ถ์ ์ฌ๋ง ๊ด๋ จ ์ฌ์ฉ์ ํธ์์ฑ ์ด์์ ๋ํด์ ์์๋ณด๊ณ ์ธ๋ฆฌ์ผ ์์ง์ผ ๊ฒฝ์ฐ ์ด๋ค์์ผ๋ก ์์ ํ ์ ์์์ง์ ๋ํด์ ๋ถ์ํ๋ ๋ฐฉํฅ์ผ๋ก ๊ณต๋ถ๋ฅผ ์งํํ๋ค.
ํฐ ์ด์ ์์ฃผ๋ก ๋ถ์์ ํ๋ค.
์ถ์ ์ดํ ์ฌ์ฉ์ ํผ๋๋ฐฑ์ ๋ณด๋ฉด
๋จ์ํ โ์กฐ์์ด ์ด๋ ต๋คโ ์์ค์ด ์๋๋ผ
๊ฐ์ ์ผ์ด์ค๋ค์ด ๋ฐ๋ณต์ ์ผ๋ก ์ธ๊ธ๋๊ณ ์๋ค.
์ด๊ฑธ ๋จ์ UX ๋ฌธ์ ๋ผ๊ธฐ๋ณด๋ค
์์ง ๋ด๋ถ์์ ์
๋ ฅ โ ํ์ โ ๋ฐ์ ํ๋ฆ์ด ์ด๊ธ๋ ๊ฒฐ๊ณผ๊ฐ ์๋๊น๋ผ๋ ๊ด์ ์ผ๋ก ์ ๊ทผํด๋ดค๋ค.
๋ฌธ์ ๋ฅผ ํ๋์ฉ ๋ฐ๋ก ๋ณด๊ธฐ๋ณด๋ค
์ ์ฒด ํ์ดํ๋ผ์ธ์ผ๋ก ๋ณด๋ฉด ๊ตฌ์กฐ๊ฐ ๋ ์ ๋ณด์๋ค.
[Player Input]
โ
[Input Interpretation]
โ
[Target Selection]
โ
[Action Commit]
โ
[AI Reaction]
โ
[Result (Player ์ฒด๊ฐ)]
์ด ์ค ์ด๋ ํ๋๋ผ๋ ์ด๊ธ๋๋ฉด
์ ์ ์
์ฅ์์๋ ์ ๋ถ โ์กฐ์๊ฐ ์ด์โ์ผ๋ก ๋๊ปด์ง ์ ์๋ค.
ํผ๋๋ฐฑ ์ค โํค๊ฐ ์ํฉ๋ง๋ค ๋ค๋ฅด๊ฒ ๋๊ปด์ง๋คโ๋ ๋ถ๋ถ์
์
๋ ฅ ์ ์ ์์ฒด๋ณด๋ค ์
๋ ฅ ํ์ฉ ์กฐ๊ฑด์ด ์ ๋ฆฌ๋์ง ์์์ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค๊ณ ๋๊ผ๋ค.
| ๋ฌธ์ ์ ํ | ๋ฐ์ ๊ฐ๋ฅ ์์ธ |
|---|---|
| ์ ๋ ฅ ์นํ | ์ฌ๋ฌ Context๊ฐ ๋์์ ํ์ฑํ |
| ๋ค๋ฅธ ๋์ ์คํ | Mapping Priority ์ถฉ๋ |
| ์ํฉ๋ณ ์ ๋ ฅ ๋ค๋ฆ | ์ํ ๊ธฐ๋ฐ ํํฐ ์์ |
| ์ด์ํ ํ์ด๋ฐ ๋ฐ๋ | Trigger ์ค๋ณต (Tap / Hold ๋ฑ) |
Key Input
โโ Attack
โโ Interact
โโ Dodge
โโ UI Confirm
โ ์ํฉ ๊ตฌ๋ถ ์์ด ์คํ ์๋
[Current State]
โโ Exploration
โโ Combat
โโ Interaction
โโ UI
โ
[Allowed Input Only]
โ
[Execute Action]
๊ฐ๋จํ ์ ๋ฆฌํ๋ฉด
์
๋ ฅ โ ๋ฐ๋ก ์คํ โ
์
๋ ฅ โ ์ํ ํ์ธ โ ์คํ โญ
์ด๋ ๊ฒ๋ง ๋ฐ๊ฟ๋
ํค ์ถฉ๋ ๋ฌธ์ ๋ ์๋น ๋ถ๋ถ ์ค์ด๋ค ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
์ด ๋ถ๋ถ์ ์ค์ ๋ก ๋ง์ด ๊ฒช๋ ๋ฌธ์ ๋ผ ๋ ์ต์ํ๊ฒ ๋๊ปด์ก๋ค.
โ๋ฌธ์ ์ด๋ ค๊ณ ํ๋๋ฐ ์์ ์๋ ์์ดํ
์ด ์ ํ๋๋คโ
โ ๊ฑฐ์ ๋๋ถ๋ถ Trace ๋ฐฉ์ ๋ฌธ์ ๋ค.
Camera Forward
โ
Line Trace
โ
First Hit Actor
โ
Interact
์ด ๊ตฌ์กฐ๋ ๋จ์ํ์ง๋ง
์ ์ ์๋๋ฅผ ๋ฐ์ํ์ง ๋ชปํ๋ค๋ ํ๊ณ๊ฐ ์๋ค.
[Multi Trace]
โ
[Candidate List]
โ
[Filter]
- ๊ฑฐ๋ฆฌ
- ์์ผ(FOV)
- ์ํ
โ
[Score ๊ณ์ฐ]
โ
[Best Target ์ ํ]
| ์์ | ์ด์ |
|---|---|
| ๊ฑฐ๋ฆฌ | ๊ฐ๊น์ด ๋์์ด ๋ ์์ฐ์ค๋ฝ๋ค |
| ๋ฐฉํฅ | ํ๋ฉด ์ค์์ ์๋ ๋์์ด ์ฐ์ |
| ์ํ | ์ํธ์์ฉ ๊ฐ๋ฅํ ๋์๋ง |
| ๊ฐ์์ฑ | ๋ฒฝ ๋ค ๋์ ์ ๊ฑฐ |
Score =
(๊ฑฐ๋ฆฌ ๊ฐ์ค์น)
+ (์นด๋ฉ๋ผ ๋ฐฉํฅ ๊ฐ์ค์น)
+ (์ฐ์ ์์ ํ๊ทธ)
์ด ๊ตฌ์กฐ๋ฅผ ์ฐ๋ฉด
โ์๋ฑํ ๋์ ์ ํโ ๋ฌธ์ ๋ ๊ฑฐ์ ์ค์ด๋ค ๊ฒ ๊ฐ์๋ค.
| ๋ฐฉ์ | ๋ฌธ์ |
|---|---|
| Overlap ๊ธฐ๋ฐ ์ ํ | ๋์์ด ๊ณ์ ๋ฐ๋ |
| ๋จ์ผ Trace | ์ ํ๋ ๋ถ์กฑ |
| ๋ค์ค ํ๋ณด + ์ ์ | ์์ ์ |
๊ฒฐ๊ตญ ํต์ฌ์
Hit = ์ ํ โ
Best Candidate = ์ ํ โญ
์ด๊ฑด ์ฒด๊ฐ์ด ์ ์ผ ์ด์ํด์ง๋ ๋ถ๋ถ์ด๋ผ ์ค์ํ๊ฒ ๋ณด์๋ค.
| ์ฒด๊ฐ | ๋ด๋ถ ๋ฌธ์ ์ถ์ธก |
|---|---|
| ๋ค๋ฅธ ์ ์ด ๋ฐ์ | ํ๊ฒ ๋ถ์ผ์น |
| ๋ฐ์์ด ๋ฆ์ | Perception ์ง์ฐ |
| ์๋ฑํ ํ๋ | Blackboard stale |
[Client Input]
โ
[Client Target]
โ
(Server)
โ
[Server Target Confirm]
โ
[AI Blackboard]
โ
[AI Behavior]
์ฌ๊ธฐ์
Client Target โ Server Target ์ด ๋๋ฉด
์ฒด๊ฐ์ด ๋ฐ๋ก ๊นจ์ง๋ค.
Client
- ๋์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
- UI ํ์
Server
- ์ต์ข
ํ๊ฒ ํ์
- ์ฆ์ ์ํ ์
๋ฐ์ดํธ
| ํญ๋ชฉ | ์ด์ |
|---|---|
| ์๋ฒ ํ์ | ํ์ ์ผ๊ด์ฑ |
| Blackboard ์ฆ์ ๊ฐฑ์ | AI ๋ฐ์ ์ง์ฐ ๋ฐฉ์ง |
| ํ๊ฒ ๊ณ ์ ๊ตฌ๊ฐ | ์ค๊ฐ ๋ณ๊ฒฝ ๋ฐฉ์ง |
Attack Input
โ
Target Snapshot ์ ์ฅ
โ
Animation ์งํ
โ
Hit ํ์
์ด๊ฑธ ์ ํ๋ฉด
๊ณต๊ฒฉ ๋์ค ํ๊ฒ์ด ๋ฐ๋๋ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค.
์ด๊ฑด ์ ๋ ฅ/ํ๊ฒ ๋ฌธ์ ๋ ๊ฐ์ด ์ฎ์ฌ์๋ค๊ณ ๋๊ผ๋ค.
Overlap ๋ฐ์
โ ๋ฐ๋ก ์ํธ์์ฉ ๋์ ๊ฒฐ์
์ด ๊ตฌ์กฐ๋ ์ํฉ์ ๋ฐ๋ผ ๊ณ์ ๋์์ด ๋ฐ๋๋ค.
Overlap โ ํ๋ณด๋ง ํ๋ณด
Trace โ ์ต์ข
์ ํ
| ์ฑ๋ | ์ญํ |
|---|---|
| Interactable | ์ํธ์์ฉ ๋์ |
| Enemy | ์ ํฌ ๋์ |
| World | ์์ผ ์ฐจ๋จ |
| Physics | ๋ฌผ๋ฆฌ ์ค๋ธ์ ํธ |
์ฑ๋ ๋ถ๋ฆฌ๊ฐ ์ ๋์ด ์์ผ๋ฉด
Trace ๊ฒฐ๊ณผ ์์ฒด๊ฐ ๋ถ์์ ํด์ง ์ ์๋ค.
์ด๊ฑธ ํ๋๋ก ๋ฌถ์ด๋ณด๋ฉด
๋ฌธ์ ๋ ๊ฐ๋ณ ๊ธฐ๋ฅ์ด ์๋๋ผ ํ๋ฆ ๋ฌธ์ ์๋ค.
Input โ ๋ฐ๋ก ์คํ
Trace โ ์ฒซ Hit ์ฌ์ฉ
AI โ Perception ์์กด
Input โ ์ํ ๊ธฐ๋ฐ ํํฐ
โ
Target โ ํ๋ณด + ์ ์ ์ ํ
โ
Server โ ์ต์ข
ํ์
โ
AI โ ์ฆ์ ์ํ ๋ฐ์
์ด๋ฒ ๋ด์ฉ์ ์ ๋ฆฌํ๋ฉด์ ๋๋ ๊ฑด
์ด ๋ฌธ์ ๋ ๋จ์ํ โ๋ฒ๊ทธ๋ฅผ ๊ณ ์น๋คโ ์์ค์ด ์๋๋ผ
์ค๊ณ ๋ฐฉ์ ์์ฒด๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ ๋ค๋ ์ ์ด์๋ค.
ํนํ ์ธ์์ ์ด์๋ ๊ฑด
์์ง ์ค์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๋ณธ ๊ฑด ์๋์ง๋ง
์ง๊ธ ๋ณด์ด๋ ์ฆ์ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด
์ด ์ธ ์ถ์ด ๋์์ ํ๋ค๋ ธ์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ์๊ฐํ๋ค.
- ์ฌ์ฉ์ ํธ์์ฑ ์ธก๋ฉด์์ ์ค์ํ ์ด์์ธ ์กฐ์๊ฐ ๋ฌธ์ ๋ ์ ๋ ฅ ๋ฌธ์ ๊ฐ ์๋๋ผ
์ ๋ ฅ โ ์ ํ โ ๋ฐ์ ํ๋ฆ์ด ์ผ๋ง๋ ์ผ๊ด๋๊ฒ ์ด์ด์ง๋๋์ ๋ฌธ์ ๋ผ๊ณ ๋๊ผ๋ค.