๊ธฐ์กด ํ๋ฌ๊ทธ์ธ ๊ตฌ์กฐ์ ๋งํ์ ์์คํ
์ ๊ธฐ๋ณธ ์ค๊ณ ๋ฐ 1์ฐจ ๊ตฌํ์ ์๋ฃํ์ง๋ง,
์ค์ ๋ฐ์ ๋จ๊ณ์์ ์ฌ๋ฌ ๊ฐ์ง ์์ ๋ชปํ ๋ฌธ์ ๋ค์ด ํ ๋ฒ์ ํฐ์ก๋ค.
์ ๋ฆฌํด๋ณด๋ฉด ์ด๋ฐ ์ํ์๋ค.
๊ฒฐ๊ตญ ์ค๊ณ ์์ฒด๋ ํ๋ฆฌ์ง ์์๋๋ฐ,
โ์ค์ ๋ก ์ฐ๋ ๋จ๊ณโ์์ ๊ตฌ์กฐ๊ฐ ๋๊ธด ์ํ์๋ค.
์ฒ์์๋ ๋จ์ํ โํจ์ ์ ์ธ์ด ์๋ชป๋๋?โ ์ ๋๋ก ์๊ฐํ๋๋ฐ
๋ฌธ์ ๋ ์๊ฐ๋ณด๋ค ๊ตฌ์กฐ์ ์ธ ๋ถ๋ถ์ด์๋ค.
void LogTypedTextToActor(...)
์ด ์ํ์์๋:
๋ฐ๋ฉด ์๋ ํจ์๋ ์ ์ ๋์ํ๋ค.
static void LogTextToActor(...)
UBlueprintFunctionLibrary๋ ๊ทธ๋ฅ ํด๋์ค๊ฐ ์๋๋ผ
๊ทธ๋์ ํจ์๋ ๋ฐ๋์
๊ฐ์ฒด ์์ด ํธ์ถ ๊ฐ๋ฅํ ํํ
์ฌ์ผ ํ๋ค.
| ๊ตฌ๋ถ | ๊ฒฐ๊ณผ |
|---|---|
| static | ๋ธ๋ฃจํ๋ฆฐํธ ์ ์ญ ๋ ธ๋๋ก ์์ฑ๋จ |
| non-static | ํธ์ถ ๋์ ์์ โ ๋ ธ๋ ์์ฒด๊ฐ ์ ๋ง๋ค์ด์ง |
์ด๊ฑธ ์ดํดํ๊ณ ๋๋๊น
โ์ ์ ๋จ๋์งโ๊ฐ ๋ช
ํํด์ก๋ค.
UFUNCTION(BlueprintCallable)
static void LogTypedTextToActor(...)
์ด๋ ๊ฒ ๋ฐ๊พธ๋๊น ๋ฐ๋ก ์ ์ ๋์ํ๋ค.
๋จ์ํ โstatic ๋ถ์ฌ์ผ ๋๋คโ๊ฐ ์๋๋ผ
BPLibrary๋ ์ ์ด์ ๊ฐ์ฒด๊ฐ ์๊ธฐ ๋๋ฌธ์
ํธ์ถ ์ฃผ์ฒด๊ฐ ํ์ ์๋ ํจ์๋ง ํ์ฉ๋๋ค
์ด๊ฒ ํต์ฌ์ด์๋ค.
์ด๊ฑด ์ฝ๋ ๋ฌธ์ ๋ผ๊ธฐ๋ณด๋ค
ํจ์ ์ญํ ์ ํผ๋ํ ์ํ์๋ค.
LogText
โ ๋ก๊ทธ๋ง ์ถ๋ ฅ
LogTextToActor
โ ๋ก๊ทธ + ๋งํ์
LogTypedTextToActor
โ ๋ก๊ทธ + ๋งํ์ + ์คํ์ผ
| ์ํฉ | ์์ธ |
|---|---|
| ๋งํ์ ์ ๋ธ | LogText ์ฌ์ฉ |
| ํน์ ๊ฒฝ์ฐ๋ง ๋ธ | TargetActor ์๋ชป |
| ๋ค์ญ๋ ์ญ | ShowSpeech ์ง์ ํธ์ถ |
LogText๋ ์ ์ด์ ๋งํ์ ์ ๋จ๋ ๊ฒ ์ ์
์ด๊ฑธ ๋ชจ๋ฅด๊ณ ๊ณ์ ๋๋ฒ๊น ํ๊ณ ์์๋คโฆ
์ข๋ค. ์ด ๋ถ๋ถ์ ํต์ฌ์ ์ ์กํ ์๋๋ฐ ์ค๋ช
๋ฐ๋๊ฐ ๋ถ์กฑํ ์ํ๋ผ์
๋๋ฒ๊น
๊ณผ์ + ์ ๊ทธ๋ ๊ฒ ๋๋์ง๊น์ง ์ด ๋ถ์ฌ์ ๋ณด๊ฐํด์ค๊ฒ.
๋งํ์ ์ถ๋ ฅ์ ๋จ์ํ โํจ์ ํธ์ถโ์ด ์๋๋ผ
TargetActor๋ฅผ ๊ธฐ์ค์ผ๋ก ์ปดํฌ๋ํธ๋ฅผ ์ฐพ๋ ๊ตฌ์กฐ์๋ค.
TargetActor
โ SpeechComponent ์ฐพ๊ธฐ
โ ShowSpeech ์คํ
TargetActor๊ฐ ๋งํ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ ๊ฒฝ์ฐ
์ด ์ํฉ์์๋:
โ ๊ฒ์ผ๋ก ๋ณด๋ฉด โํจ์๊ฐ ์ ๋จนํ๋ ๊ฒ์ฒ๋ผ ๋ณด์โ
TargetActor = Self
๋๋
ํ์คํ๊ฒ SpeechComponent๊ฐ ๋ถ์ด์๋ Actor ์ ๋ฌ
์ด ๋ฌธ์ ๋ ๋ก์ง ๋ฌธ์ ๊ฐ ์๋๋ผ
"๋์์ด ํ๋ฆฐ ์ํ์์ ์ ์ ๋ก์ง์ด ์คํ๋ ์ผ์ด์ค"
์ด๊ฑด ๋จ์ ์๋ฌ๊ฐ ์๋๋ผ
๊ตฌ์กฐ ์ค๊ณ๋ฅผ ์๋ชป ์ก์์ ๋ ๋์ค๋ ์ ํ์ ์ธ ๋ฌธ์ ์๋ค.
GetSpeechWidget() protected
โ ์ธ๋ถ์์ ์ ๊ทผ ์ ์ปดํ์ผ ์๋ฌ
์ฒ์์๋ ์ ๊ทผ ์ ํ์ ํ์ด์ผ ํ๋ ๊ณ ๋ฏผํ๋๋ฐ
๊ทธ ๋ฐฉํฅ์ด ์๋๋ผ ๊ตฌ์กฐ๋ฅผ ๋ฐ๊ฟ์ผ ํ๋ ๋ฌธ์ ์๋ค.
BPLibrary โ Widget ์ง์ ์ ๊ทผ
์ด ๊ตฌ์กฐ๋:
BPLibrary
โ
SpeechComponent ํจ์ ํธ์ถ
โ
Component ๋ด๋ถ์์ Widget ์ฒ๋ฆฌ
์ธ๋ถ๋ "๊ธฐ๋ฅ ์์ฒญ"๋ง ํ๊ณ
์ค์ ์ฒ๋ฆฌ๋ ํด๋น ๋ ์ด์ด ๋ด๋ถ์์ ํ๋ค
Widget์ ๋ฐ์ดํฐ ํํ ๊ณ์ธต์ด๊ณ
์ธ๋ถ์์ ์ง์ ์ ๊ทผํ๋ฉด ๊ตฌ์กฐ๊ฐ ๋ฌด๋์ง๋ค
๊ธฐ๋ฅ์ ๋๋๋ฐ ์ฐ๊ธฐ๊ฐ ๋ถํธํ ์ํ์๋ค.
Branch
โ LogTypedTextToActor(...)
์ด๊ฒ ๋ฐ๋ณต๋๋๊น:
ShowErrorBubble("๋ฉ์์ง")
ShowWarningBubble("๋ฉ์์ง")
์ง๊ธ ๋จ๊ณ์์๋
๊ธฐ๋ฅ ๊ฒ์ฆ์ด ๋จผ์
โ ์ถ์ํ๋ ๋์ค
์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ๊ฒ ๋ง๋ค๊ณ ํ๋จ
์ง๊ธ์ ๊ตฌ์กฐ ์์ ํ ๋จ๊ณ
โ ์ฌ์ฉ์ฑ ๊ฐ์ ์ ๋ค์ ๋จ๊ณ
์ฌ๊ธฐ์ ์ ์ผ ํจ๊ณผ ๋ณธ ๋ถ๋ถ์ด๋ค.
BeginPlay โ ๊ธฐ๋ณธ ๋งํ์ ํ
์คํธ
1 โ ๋ก๊ทธ๋ง
2 โ ๋ก๊ทธ + ๋งํ์
3 โ Info
4 โ Warning
5 โ Error
1๋ฒ ์ ์ โ ๋ก๊ทธ ๋ฌธ์ ์๋
2๋ฒ ์คํจ โ ๋งํ์ ๊ฒฝ๋ก ๋ฌธ์
3~5๋ฒ ๋น๊ต โ ์คํ์ผ ๋ฌธ์ ์ฌ๋ถ ํ์ธ
ํ
์คํธ๋ฅผ ๊ธฐ๋ฅ ๋จ์๋ก ์ชผ๊ฐ๋๊น
๋ฌธ์ ์์น๊ฐ ๋ฐ๋ก ๋๋ฌ๋ฌ๋ค
๋
ธ๋ ์์ฒด๊ฐ ์ ๋ณด์ด๋ ๋ฌธ์ ํด๊ฒฐ
Blueprint
โ
LogTypedTextToActor
โ
SpeechComponent
โ
Widget
โ ์ค๊ฐ ๋จ๊ณ๊ฐ ๋ช ํํด์ง
์ธ๋ถ โ ์์ฒญ
Component โ ์ฒ๋ฆฌ
โ ๊ตฌ์กฐ ์์ ํ + ์ฌ์ฌ์ฉ์ฑ ํ๋ณด
Self ๊ธฐ์ค์ผ๋ก ํต์ผ
โ ๋๋ฒ๊น ํฌ์ธํธ ๊ฐ์
Billboard ์ฒ๋ฆฌ ์ถ๊ฐ
โ ์ค์ ์ฌ์ฉ ๊ฐ๋ฅ ์์ค์ผ๋ก ๊ฐ์
Info / Warning / Error
โ UI ํ์ฅ ๊ฐ๋ฅ ๊ตฌ์กฐ ํ๋ณด
[Blueprint]
โ (์์ฒญ)
[BPLibrary]
โ (์ ๋ฌ)
[SpeechComponent]
โ (์ฒ๋ฆฌ)
[WidgetComponent]
โ (ํํ)
[Widget]
| ๋ ์ด์ด | ์ญํ | ํต์ฌ ํฌ์ธํธ |
|---|---|---|
| BPLibrary | ์ธ๋ถ ์ธํฐํ์ด์ค | ์ด๋์๋ ํธ์ถ ๊ฐ๋ฅ |
| Component | ํต์ฌ ๋ก์ง | ์ํ + ์ ์ด ๋ด๋น |
| WidgetComponent | ์๋ ํํ | ์์น / ํ์ |
| Widget | UI | ์๊ฐ์ ํํ |
| DataAsset | ์คํ์ผ | ์์, ํ์ |
| Settings | ์ ์ญ ์ค์ | ๊ธฐ๋ณธ ๊ฐ ๊ด๋ฆฌ |
๋ฌธ์ ๋ ์ฝ๋๊ฐ ์๋๋ผ ๊ตฌ์กฐ ์ดํด ๋ถ์กฑ์์ ๋ฐ์ํ๊ณ , ๋๋ฒ๊น ์ ํตํด ๊ฐ ๋ ์ด์ด์ ์ฑ ์์ ๊ตฌ๋ถํ๋ ๊ฒ ์ค์ํ๋ค๋ ๊ฑธ ๋๊ผ๋ค.