๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ UNREAL ENGINE

[๋ธ”๋ฃจ ํ”„๋ฆฐํŠธ1] 5์›” 21์ผ ์–ธ๋ฆฌ์–ผ

by Sjungwon 2024. 5. 21.

1). ํ”„๋กœํผํ‹ฐ ์กฐ์ž‘ 2). ํŠธ๋žœ์Šคํผ์ œ์–ด 3). ์ด๋ฒคํŠธ ํ…Œ์ŠคํŠธ 4). ๋ธŒ๋ Œ์น˜ 5). ์™•๋ณต 6). light_overlap 7). ๋ผ์ดํŠธ ์ œ์–ด 8). ๋ ˆ๋ฒจ ์ด๋ฆ„ ๊ฐ€์ ธ์˜ค๊ธฐ 9). ์™ธ๋ถ€ํ”„๋กœํผํ‹ฐ ๊ฐ€์ง€๊ณ  ์˜ค๊ธฐ 

 

 

 

๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ์–ธ๋ฆฌ์–ผ ์•ˆ์—์„œ ๋น„์ฃผ์–ผ ์Šคํฌ๋ฆฝํŒ… ํ˜•์‹์ด๋‹ค. ์œ ๋‹ˆํ‹ฐ์—์„œ ํ”Œ๋ ˆ์ด ๋ฉ”์ด์ปค ๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ๋‹ค. (์–ธ๋ฆฌ์–ผ์˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ์™€ ๋น„์Šทํ•œ ๋น„์ฃผ์–ผ ์Šคํฌ๋ฆฝํŒ… ๋ฐฉ์‹). ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ์ฝ”์–ด๋„ ๋งŒ์งˆ ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค. 

 

๋งํฌ (๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์œ ํŠœ๋ธŒ ๋ณผ ๊บผ๋ฉด Blueprint Essentials)

https://www.youtube.com/watch?v=zaVY5A0hqiI&list=PLZlv_N0_O1ga2b_ZaJoaR5dLHOFw4-MMl

Bgin Play | Blueprints

https://dev.epicgames.com/community/learning/tutorials/ryZ7/unreal-engine-begin-play-blueprints

 

Begin Play | Blueprints | Tutorial

In this video, we look at a high-level overview of the Blueprint visual scripting system in Unreal Engine, examining how it is implemented and structure...

dev.epicgames.com

 

 

1. ๋ ˆ๋ฒจ ๋ธ”๋ฃจํ”„๋ฆฐํ„ฐ

- Level Blueprint (๋ ˆ๋ฒจ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ)๋ž€ ๋ ˆ๋ฒจ ๋‹จ์œ„ ๊ธ€๋กœ๋ฒŒ ์ด๋ฒคํŠธ ๊ทธ๋ž˜ํ”„ ์—ญํ• ์„ ํ•˜๋Š” ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ .

ํ”„๋กœ์ ํŠธ ๋‚ด ๊ฐ ๋ ˆ๋ฒจ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž์ฒด์ ์ธ ๋ ˆ๋ฒจ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๊ฐ€ ์žˆ์–ด ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ ์•ˆ์—์„œ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์—๋””ํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๋ ˆ๋ฒจ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. 

- ๋ ˆ๋ฒจ ์ „์ฒด์ ์œผ๋กœ ๊ด€๋ จ๋œ ์ด๋ฒคํŠธ ๋˜๋Š” ๋ ˆ๋ฒจ ๋‚ด ํŠน์ • ์•กํ„ฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด๋‚˜ ํ๋ฆ„ ์ œ์–ด ์—ฐ์‚ฐ ํ˜•ํƒœ๋กœ ์ผ๋ จ์˜ ๋™์ž‘์„ ๋ฐœ๋™์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

2. ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ํด๋ž˜์Šค (์•กํ„ฐ)

blueprint class (๋ธ”๋ฃจํ”„๋ฆฐํŠธ ํด๋ž˜์Šค), ์ข…์ข… ๊ทธ๋ƒฅ Blue print (๋ธ”๋ฃจํ”„๋ฆฐํŠธ )์ฝ˜ํ…์ธ  ์ œ์ž‘์ž๊ฐ€ ๊ธฐ์กด์˜ ํด๋ž˜์Šค ์œ„์— ๋‹ค๋ฅธ ํ•จ์ˆ˜์„ฑ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์—์…‹ ์ด๋‹ค. ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ๋Š” ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ ์•ˆ์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ๋ฐฉ์‹์ด ์•„๋‹Œ ์‹œ๊ฐ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ, ์ฝ˜ํ…์ธ  ํŒจํ‚ค์ง€์— ์• ์…‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค ๋˜๋Š” ์•ก ์œ ํ˜•์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ , ๋‚˜์ค‘์— ์ด ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ๋งต์— ์ธ์Šคํ„ด์Šค๋กœ ๋ฐฐ์น˜ํ•˜๋ฉด ๋‹ค๋ฅธ ์•กํ„ฐ ์œ ํ˜• ์ฒ˜๋Ÿผ ์ž‘๋„์•Ÿ๋นˆ์ž—. 

3. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ (์• ๋‹˜ ๋ธ”ํ”„)

์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ์Šค์ผˆ๋ ˆํƒˆ ๋ฉ”์‹œ์˜

4. ์‹œํ€€์„œ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ

 

๋ธ”๋ฃจํ”„๋ฆฐํŠธ์˜ ๊ธฐ๋ณธ ์š”์†Œ๋“ค

- ์ด๋ฒคํŠธ

- ๋…ธ๋“œ

- ๋ณ€์ˆ˜

- Set/Get

- ๋ ˆํผ๋Ÿฐ์Šค

- ๋“ฑ๋“ฑ...

 

 

์˜ˆ) ๋ผ๋ฉด์„ ๋“์ด์ž

- ๋ผ๋ฉด์„ ๋“์ด๋Š” ๋‹จ๊ณ„๋ฅผ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ (ํ”„๋กœ๊ทธ๋ž˜๋ฐ)์œผ๋กœ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. 

- ์‹œ์ž‘์ (์ด๋ฒคํŠธ)

 - ๋ฐฐ๊ณ ํ”„๋ฉด (์‹œ์ž‘ํ•˜๋Š” ํ–‰๋™

- ํ–‰๋™๋“ฑ (๋…ธ๋“œ ์ž„) ๋ญ˜ํ•˜๊ณ  ๋ญํ•˜๊ณ  ๋ญํ•˜๊ณ  ๊ทธ๋Ÿฐ๊ฒŒ ๋‹ค ๋…ธ๋“œ์ž„

๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ๋…ธ๋“œ๋“ค์„ ์•Œ์•„๊ฐ€๋Š” ๊ณผ์ •์ด๋‹ค. ๋…ธ๋“œ๋“ค์ด ๋ญ๊ฐ€ ์žˆ๊ณ  ์–ด๋–ค ํ–‰๋™์„ ํ•  ์ˆ˜ ์žˆ๊ณ ๋Š” ๋…ธ๋“œ๊ฐ€ ๊ฒฐ์ •ํ•œ๋‹ค. 

๋กœ์ง์„ ์ง ๋‹ค. ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๋ญ˜ ์‚ผ์„๊นŒ??

 

์ด๋ฒคํŠธ

 

์ด๋ฒคํŠธ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ์— ๋“ค์–ด๊ฐ€๋ฉด ์žˆ๋Š” ๊ฒƒ์€

Event BeginPlay (๋”ฑ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰๋œ๋‹ค. )

Event Tick (๋งค ํ”„๋ ˆ์ž„ ๋งˆ๋‹ค ์‹คํ•ด๋œ๋‹ค. )

 

์ด๋ฒคํŠธ ์ข…๋ฅ˜

Beign play ๊ฒŒ์ž„ ์‹œ์ž‘๋ ๋•Œ

End Play ๊ฒŒ์ž„์ด ๋๋‚  ๋•Œ

Actor Begin Overlap (์ถฉ๋Œ์ด ์‹œ์ž‘๋ ๋•Œ)

Axtor End Overlap (์ถฉ๋Œ ๊ฒน์นจ์ด ๋๋‚  ๋–„)

์™ผ์ชฝ ๋งˆ์šฐ์Šค ๋ฒ„ํŠผ (๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋†“์„๋•Œ )

์™ผ์ชฝ ctrl (ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋†“์„๋•Œ 

tick ์ด๋ฒคํŠธ (๋งค ํ”„๋ ˆ์ž„ ๋งˆ๋‹ค

custom event (์‚ฌ์šฉ์ž ์ •์˜ ์ด๋ฒคํŠธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ)

input event (์ˆซ์ž๋‚˜ ๊ทธ๋Ÿฐ๊ฑฐ ๋„ฃ๋Š” ์ด๋ฒคํŠธ )

 

 

๋ธ”๋ฃจํ”„๋ฆฐํŠธ ํด๋ž˜์Šค ( ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค๊บผ์•ผ? ๋ชจ๋“  ํด๋ž˜์Šค ๋ณด๋ฉด ๋ชจ๋“ ๊ฒŒ ๋‹ค ๋‚˜์˜ต๋‹ˆ๋‹ค. )

์•กํ„ฐ๋Š” ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ธ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. 

 

 

๋ธ”๋ฃจํ”„๋ฆฐํŠธ ํด๋ž˜์Šค ์•กํ„ฐ๋Š” BP๋ฅผ ์ ์–ด ์ด๋ฆ„์„ ๋„ฃ์Šต๋‹ˆ๋‹ค. 

 

์ด๋ ‡๊ฒŒ๊ฐ€ ์ผ๋ฐ˜์ ์ž„

 

๋…ธ๋“œ๋Š” ์—ฌ๊ธฐ ๋‹ค ์žˆ์Šต๋‹ˆ๋‹ค. (๋ธ”๋ฃจํ”„๋ฆฐํŠธ 90ํผ ์„ผํŠธ ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์ฃ . 

๋‚˜์˜ ์œ„์น˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. 

๋‚˜์˜ ์œ„์น˜?? ์œผ์Œ location ์ด ์œ„์น˜ ์ผ ๊ฑฐ๊ณ  ์Œ ์œ„์น˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์œผ๋‹ˆ๊นŒ Get์„ ๋„ฃ์–ด์•ผ ๊ฒ ๋‹ค. 

 

 

๋…ธ๋ž€์ƒ‰์€ ๋ฒกํ„ฐ ๊ฐ’์ด์˜ˆ์š”.

 

์ด๋ฒคํŠธ ๋น„๊ธด ํ”Œ๋ ˆ์ด๋Š” ํ•˜์–€์ƒ‰์ด ์–‘์ชฝ์— ์—†์ฃ ? ์ด๊ฑฐ๋Š” ๋‹ค๋ฅธ์• ๊ฐ€ ์–˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–˜๋งŒ ์‹œ์ž‘์ด๋ผ๋Š” ๊ฑฐ์ฃ . ๋…ธ๋“œ๋Š” ์–ด๋–ค ๋†ˆ ๋‹ค์Œ์— ์“ธ ์ˆ˜๋„ ์žˆ๊ณ  ์‹คํ–‰๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•กํ„ฐ๋ฅผ ๋ ˆ๋ฒจ์— ์˜ฌ๋ ค๋†”์•ผ์ง€ ์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด print ๋ฉ๋‹ˆ๋‹ค. 

 

Duration์„ 5์ดˆ๋กœ ๋Š˜๋ ค๋†จ์Šต๋‹ˆ๋‹ค. 

์ด๋ฒคํŠธ tick์œผ๋กœ ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๊ณ„์† ๋‚˜์˜ต๋‹ˆ๋‹ค. 

 

๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋Š”๋ฐ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์€ ํ•€์ด ๋ถ™์–ด ์žˆ์œผ๋ฉด ๊ทธ ๋…ธ๋“œ์˜ ๋๊นŒ์ง€ ๊ฐ€๊ฒŒ ๋˜์–ด ์žˆ๋‹ค. ๊ทธ ๋…ธ๋“œ์˜ ๊ฐ’์„ ๋ฐ›์•„์„œ ๋ฐ›์•„์„œ ์™„์„ฑํ•˜๊ฒŒ ๋œ๋‹ค. 

 

 

 

A๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์œผ๋ ค๋ฉด ํด๋ž˜์Šค ๋””ํดํŠธ์— ๊ฐ€์„œ ์ž…๋ ฅ > ์ž…๋ ฅ ์ž๋™ ์ˆ˜์‹  ์—์„œ Player 0์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค. 

 

 

 

 

๋ธ”๋ฃจํ”„๋ฆฐํŠธ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ์ƒํƒœ

- ์–ธ๋ฆฌ์–ผ ์—”์ง„์€ ํฌ๊ฒŒ 2๊ฐ€์ง€์˜ ์ƒํƒœ๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค. 

- ํ”Œ๋ ˆ์ด ์ƒํƒœ์™€ ์—๋””ํ„ฐ ์ƒํƒœ

- ํ”Œ๋ ˆ์ด๋Š” ํ”Œ๋ ˆ์ด ๋ฒ„ํŠผ (ํ˜น์€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฒ„ํŠผ)์„ ๋ˆŒ๋Ÿฌ์•ผ ์ž‘๋™์ด ๋œ๋‹ค. 

์‹œํ€€์Šค๋ฅผ ํ”Œ๋ ˆ์ด ํ• ๋•Œ๋Š” ์•ˆ๋˜์ง€๋งŒ ๋ Œ๋”๋ง ํ• ๋•Œ๋Š” ํ”Œ๋ ˆ์ด ๋ฒ„ํŠผ์ด ๋ˆŒ๋Ÿฌ๋ฒ„๋ ค์„œ (๋ชจ๋“  ๋ธ”ํ”„๊ฐ€ ๋‹ค ์ž‘๋™์„ ํ•œ๋‹ค.)

์–ด๋”” ์—์…‹์— ๋ธ”ํ”„๊ฐ€ ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋ Œ๋”๋ง์— ์ด์ƒํ•œ๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค.

- ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”Œ๋ ˆ์ด ์ƒํƒœ์—์„œ ์ž‘๋™ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ถ€ ๋ธ”ํ”„๋Š” ์—ํ‹ฐ์–ด ์—์„œ ๋„ ์ž‘๋™ํ•œ๋‹ค. (์ด๊ฒŒ ๋ฐ”๋กœ ์• ๋‹˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ)  

- ์‹œํ€€์„œ๋ฅผ ์ด์šฉํ•ด์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค๊ณ  ์‹œ์ฟ ๋„ˆ์„œ ํ”Œ๋ ˆ์ด๋ฅผ ํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„ ํ”„๋ฆฐํŠธ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์ง€๋งŒ ๋ Œ๋”๋ง์„ ํ•˜๋ฉด ํ”Œ๋ ˆ์ด ์ƒํƒœ๊ฐ€ ๋˜์„œ ์ž‘๋™ํ•œ๋‹ค. 

 

๋…ธ๋“œ 

- ๋…ธ๋“œ๋ž€ ๊ทธ๋ž˜ํ”„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ , ํ•จ์ˆ˜ ํ˜ธ์ถœ, ํ๋ฆ„ ์ œ์–ด ๋™์ž‘, ๋ณ€์ˆ˜ ๋“ฑ๊ณผ ๊ฐ™์€ ์˜ค๋ธŒ์ ํŠธ๋กœ , ํŠน์ • ๊ทธ๋ž˜ํ”„์˜ ํ•จ์ˆ˜์„ฑ์ด๋‚˜ ๊ทธ ํ•จ์ˆ˜์„ฑ์ด ๋“ค์–ด์žˆ๋Š” ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ์ •์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 

- ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์ด๋‹ค. 

 

 

์ด๋ ‡๊ฒŒ ๊บผ๋‚ผ ํ•„์š”์—†๊ณ 

ํŒ”๋ ˆํŠธ ๋ฅผ ๊บผ๋‚ด๋ฉด ๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ผ์ผํžˆ ์ฐพ์•„๋‚ด์„œ ๊บผ๋‚ผ ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์‚ฌ์šฉํ•ด์„œ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. 

 

์ŠคํŠธ๋ง -> append ํ•˜๋‚˜๊ฐ€ ์žˆ๊ณ 

 ๋ฆฌ์ŠคํŠธ -> Append ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค. 

split์„ ์ด์šฉํ•ด์„œ ์ด๋ฆ„ ์ž๋ฅด๊ธฐ๋„ ๊ฐ€๋Šฅํ•จ. 

์ด๋ฆ„์ด ์—†์œผ๋ฉด ์ง€์›Œ๋ฒ„๋ฆฐ๋‹ค?๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

์ด ๋…ธ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์จ์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด MathewWadsteinTutorials์— ๋ฌผ์–ด๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

https://www.youtube.com/@MathewWadsteinTutorials

 

Mathew Wadstein Tutorials

This channel is dedicated to exploring Unreal Engine and the Blueprint programming language that it uses. You can think of it as a companion to the API documentation as I try to cover the how and why for what things are used for when using the Blueprint sy

www.youtube.com

์ด ์•„์ €์”จ๋กœ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹์•„์š”. print string์ด๋ผ๋ฉด ๋”ฑ ๊ทธ๊ฑฐ๋งŒ ์•Œ๋ ค์ฃผ๊ฑฐ๋“ .

์—ฌ๊ธฐ์„œ ๊ทธ๋ƒฅ ๋…ธ๋“œ ๊ฒ€์ƒ‰ํ•ด์„œ ๋ณด๋Š”๊ฒŒ ์ข‹์•„์š”. 

 

๋…ธ๋“œ๊ฐ€ ๋ญ๊ฐ€ ์žˆ๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€๋Š” ์‰ฝ๊ฒŒ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

๋ณ€์ˆ˜๋ž€?

๋ณ€์ˆ˜๋Š” ์›”๋“œ์— ์žˆ๋Š” Object๋‚˜ Actor ์— ๋Œ€ํ•œ ๊ฐ’์ด๋‚˜ ์ฃผ์†Œ ๋ฅผ ๋‹ด๋Š” ํ”„๋กœํผํ‹ฐ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœํผํ‹ฐ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ๊ทธ๋ฅผ ๋‹ด๊ณ  ์ž‡๋Š” blueproint์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์™ธ๋ถ€์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ ๋ ˆ๋ฒจ์— ๋†“์€ Blueprint ์ธ์Šคํ„ด์Šค ์ž‘์—…์„ ํ•˜๋Š” ๋””์ž์ด๋„ˆ๊ฐ€ ๊ทธ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

String = ๋ฌธ์ž์—ด 

Vector = ์—‘์Šค ์™€์ด ์ œํŠธ  ๋ฒกํ„ฐ ๊ฐ€์ง€๊ณ  ์Šค์ผ€์ผ ๊นŒ์ง€ ์“ฐ๊ณ  

Rotator = ํšŒ์ „๊ฐ’

Transform = ์œ„์น˜๊ฐ’

Boolean = ํŠธ๋ฃจ ํŽ„์Šค

integer = ์ •์ˆ˜๋ฐ์ดํ„ฐ (์†Œ์ˆ˜์  ์—†์Œ)

float = ์‹ค์ˆ˜  (์†Œ์ˆ˜์  ์ž„)

Object = ์•กํ„ฐ (์•„๋ฆฌ๊นŒ๋ฆฌ ํ• ๋•Œ ๊ฑ ๋‹ค ๋„ฃ์–ด๋ฒ„๋ฆฌ๋Š”)

 

๋ณ€์ˆ˜๋กœ ์Šน๊ฒฉ ํ•˜๋ฉด (๋ณ€์ˆ˜๋กœ ๋งŒ๋“ ๋‹ค) ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋œ๋‹ค. 

์ด๋ ‡๊ฒŒ ๊ฐ€์ ธ์˜ค๋ฉด ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ €๋ ‡๊ฒŒ ์•ˆํ•˜๊ณ  ์ง์ ‘ ๋งŒ๋“ ๋‹ค๋ฉด

์ด๋ ‡๊ฒŒ ๋„ฃ์„ ๋ณ€์ˆ˜ํ˜•์˜ ๋ชจ์Šต์„ ์„ ํƒํ•˜๊ณ  ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

 

์•กํ„ฐ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ.

 

์ž…๋ ฅํ‚ค ๋ฅผ ๋ณด๋ฉด ๋œ๋‹ค. 

scale ๊ฐ’์€ boolean์ด ์•„๋‹ˆ๋‹ˆ๊นŒ ์ €๊ฑด ์•„

 

์—ฌ๊ธฐ๋ฅผ ์ž˜ ๋ด์•ผ ํ•œ๋‹ค. ์ปดํฌ๋„ŒํŠธ ์ผ๋•Œ๋งŒ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 

 

์ธ์Šคํ„ด์Šค ํŽธ์ง‘ ๊ฐ€๋Šฅ์ด๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค. (์–˜๋ฅผ ํด๋ฆญ์„ ๋ˆ„๋ฅด๋ฉด 

์ด๋ ‡๊ฒŒ ๋ฐ–์— ๋‚˜์˜จ๋‹ค. 

 

ํ”Œ๋ ˆ์ด ์ƒํƒœ์—์„œ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด 

๋ฆฌ๋ชจํŠธ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊น”๊ณ  -> ๋ˆˆํ‘œ์‹œ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ๊ทธ๊ฑธ ๋ˆˆ์„ ๋œจ์›Œ์„œ ์ €๊ธฐ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

๋„ค๋ชจ๋„ ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๊ธฐ๋Šฅ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค์–ด๋ณธ๋‹ค. 

 

 

 

์ด๋ ‡๊ฒŒ ๊ฐ๊ฐ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋ณด๋ฉด ์—๋””ํ„ฐ์—์„œ ํ˜ธ์ถœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์›๊ฒฉ์ œ์–ด์—์„œ ์ด๋ ‡๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. 

 

์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์ธ์Šคํ„ด์Šค ํŽธ์ง‘ ๊ฐ€๋Šฅ์„ ๊ผญ ๋ˆŒ๋Ÿฌ์•ผ์ง€ New Scale์ด ๋‚˜์˜จ๋‹ค.

 

ํ•ด๋‹น ๋ถ€๋ถ„์€ New Scale ๊ณผ ์ƒˆ๋กœ์šด ์Šค์ผ€์ผ์ด ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ ํ•  ๊ฒƒ.

 

 

๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ ๋‚˜์˜ฌ ๋•Œ๋ถ€ํ„ฐ Scale ํฌ๊ธฐ๋ฅผ 0์œผ๋กœ ํ•ด๋†“์œผ๋ฉด ์•ˆ๋œ๋‹ค. 

 

์ด๋ ‡๊ฒŒ ๊ป๋‹ค ์ผฐ๋‹ค/ ํฌ๊ธฐ ์กฐ์ ˆ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

ํ˜„์žฌ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ Actor๋Š” ํ๋ธŒ 1 ,ใ…ก2 ๊ฐ๊ฐ์ด ์•„๋‹ˆ๋ผ ์ „์ฒด๋ฅผ ์ด์•ผ๊ธฐ ํ•œ๋‹ค.

 

์ž๊ธฐ ์œ„์น˜์—์„œ ์–ผ๋งˆ๋‚˜ ์›€์ง์—ฌ๋ผ ์ด๋‹ค.  

 

์ดˆ๋‹น ์ฒœ๋ฒˆ ์‹คํ–‰๋˜๋Š” Tick ์—๋‹ค ์—ฐ๊ฒฐํ•˜๋ฉด ์‚ฌ๋ผ์ง„๋‹ค. 

offset ์ด๋‹ˆ๊นŒ ์กฐ๊ธˆ์”ฉ ์กฐ๊ธˆ์”ฉ ๋ฒ—์–ด๋‚˜๋Š” ์–˜

 

ํ๋ธŒ ๋‘ ๊ฐœ ๋‹ค ๋Œ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ

ํ๋ธŒ ํ•œ๊ฐœ๋งŒ ๋Œ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‘ ๊ฐœ ๋‹ค ์ด์ƒํ•˜๊ฒŒ ๋ˆ๋‹ค. 

 

timeline ์„ ๋”๋ธ”ํด๋ฆญํ•˜์ž. 

ํŠธ๋ž™ ์—์„œ Float ํŠธ๋ž™ ์ถ”๊ฐ€ ๋ฒ„ํŠผ ํด๋ฆญ

 

์ด๋ ‡๊ฒŒ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๋งŒ๋“ค์–ด์ค€๋‹ค. 

0~5์ดˆ ๋™์•ˆ ์›€์ง์ด๊ฒŒ ๋œ๋‹ค. 

 

์ด๋™๊ฑฐ๋ฆฌ๋ฅผ 300์”ฉ ๊ฐ€๋ฒ„๋ฆฌ๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด ๊ณฑํ•˜๊ธฐ 300์„ ํ•˜๋ฉด๋œ๋‹ค. 

ํƒ€์ž„๋ผ์ธ์€ ๋งŒ๋“ค๊ณ  5์ดˆ ~ 10์ดˆ ๋งŒ๋“ค๊ณ  ๊ฐ’์„ 0~1๊นŒ์ง€ ๊ฐ’์„ ์„ ํƒํ•ด ๋†“์œผ์„ธ์š”. (๊ณก์„ ์€ ์ €์žฅํ•˜์‹œ๋ฉด ๋˜๊ณ . ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์„ ๋„ฃ๋Š”๊ฒŒ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. )

์—ฌ๊ธฐ์„œ

๊ตฌ์กฐ์ฒด ํ•€ ๋ถ„ํ•  ์„ ๋ˆ„๋ฅธ๋‹ค. 

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค. 

์ด๋ ‡๊ฒŒ Reverse from End (ํ•˜๋ฉด ํƒ€์ž„๋ผ์ธ์„ ๋์—์„œ ์ฒ˜์Œ์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค.)

 

๋จผ์ € Play -> Update -> Set Actor Relative Location (์—์„œ x ๊ฐ’๊ณผ y ๊ฐ’์„ 0์œผ๋กœ ๋‘๋ฉด ๊ฑ”๊ฐ€ ์–ด๋””์— ์žˆ๋“  0์—์„œ ์‹œ์ž‘๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.) 

 

์™•๋ณต

Event Tick์€ 1์ดˆ์— 1000๋ฒˆ ์‹คํ–‰๋˜๋Š”๋ฐ Sequence๋Š” ์ˆœ์„œ๋Œ€๋กœ 0๋ฒˆ ๋ถ€ํ„ฐ ์ดค๋ฅด๋ฅต ์ˆœ์„œ์ธ๋ฐ ์ด๊ฒŒ ์‹คํ–‰๋˜๋ฉด์„œ Delay 2์ดˆ duration  ๊ฑธ๋ ค์„œ ๋‹ค์Œ์ธ Branch (ํˆฌ๋ฃจ๋‹ˆ ํŽ„์Šค๋‹ˆ?)๋ฅผ ์ด์šฉํ•ด์„œ ์œ„์น˜์ด๋™์‹คํ–‰์ค‘์˜ ๊ฐ’์ด 0์ด๋ผ๋ฉด false๋กœ ๊ฐ„๋‹ค. ์—ฌ๊ธฐ์„œ 

add custom Event๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ๋„ฃ๊ณ  ๋‚œ ๋‹ค์Œ์—  ์ด๋ฆ„์„ ์œ„์น˜ ์ด๋™์‹œ์ž‘์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ '์œ„์น˜ ์ด๋™ ์‹คํ–‰ ์ค‘'์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ ๋  ์นœ๊ตฌ๋Š” 2๊ฐ€์ง€ ์ธ๋ฐ ์ฒซ๋ฒˆ์งธ๋Š” ๊ฒ€์ƒ‰์—์„œ ํƒ€์ž„๋ผ์ธ ์„ ๊ฒ€์ƒ‰ํ•ด์„œ ์ถ”๊ฐ€๋ฅผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ ์ƒˆ ํŠธ๋ž™์˜ ๊ฒฝ์šฐ ํƒ€์ž„๋ผ์ธ์—์„œ ๋งŒ๋“  float ์ด์•ผ๊ธฐํ•œ๋‹ค. ์ด float์˜ ๊ฒฝ์šฐ 0๋ถ€ํ„ฐ 1๊นŒ์ง€ ๋ณ€ํ™” ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ์—ฌ๊ธฐ๋‹ค๊ฐ€ multifly๋กœ ์ด๋™๊ฑฐ๋ฆฌ ๋ณ€์ˆ˜ (๋ณ€ํ•˜๋Š” ์ˆ˜ ํ˜„์žฌ๋Š” 300๋„ฃ์–ด๋†ˆ)์„ ๊ณฑํ•ด์„œ ์ด๋™๊ฑฐ๋ฆฌ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ’์„ z ๊ฐ’์— ๋„ฃ์–ด์ค€๋‹ค. ๊ทธ๋Ÿฌ๋ฉด 0์—~ 300๊นŒ์ง€ z ์ถ•์œผ๋กœ ์›€์ง์ธ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ Set Actor Relative Location์˜ x ๊ฐ’๊ณผ y ๊ฐ’์ด ์‹œ์ž‘ ํ•˜๋Š” ์œ„์น˜๊ฐ’์„ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์— ์•„๊นŒ ํƒ€์ž„๋ผ์ธ์˜ [์ƒˆ ํŠธ๋ž™]์˜ ๋ณ€์ˆ˜๊ฐ’์„ ๋„ฃ์–ด๋ฒ„๋ฆฌ๋ฉด ์–˜๋„ ์›€์ง์ด๊ฒ ์ง€. 

 

์ฒซ๋ฒˆ์งธ์˜ ํƒ€์ž„๋ผ์ธ์€ play from Strart ์ด์ง€๋งŒ ๋‘๋ฒˆ์žฌ ํƒ€์ž„๋ผ์ธ์€ Reverse from End ๋กœ ์‹œ์ž‘ํ•˜์ž. ์ด์ œ ๋งˆ์ง€๋ง‰์œผ๋กœ Set Actor Relative Location์„ ๊ฑฐ์ณ์„œ Dleay ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ 2์ดˆ Duration์„ ์ฃผ๊ณ  ๋‚œ๋‹ค์Œ 2์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด [์œ„์น˜ ์ด๋™ ์‹ค์Šต ์ค‘]์„ ์‹คํ–‰ํ•œ๋‹ค.  

 

///ํ‹ฑ์— ํƒ€์ž„๋ผ์ธ์€ ๋ฐ”๋กœ ๋ถ™์ด๋ฉด ์•ˆ๋œ๋‹ค. ////

 

 

์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜๋Š” 

 

 

ใ„น

์œ„์น˜์ด๋™์‹คํ–‰์ค‘์ด false ๊ฐ€ ๋˜๋ฉด ์ด์–ด์ง€๋ฉด ๋œ๋‹ค. 

 

-------------------------------------------------------------------------

 

 

ํ”Œ๋ฆฝ ํ”„๋กฏ์œผ๋กœ ๊นœ๋ฐ• ๊นœ๋นก ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. 

 

5์ดˆ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์‹คํ–‰์ค‘ 5์ดˆ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์‹คํ–‰

 

๋”œ๋ ˆ์ด๋ฅผ ๊ฑฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ 

condition๋ณ€์ˆ˜๋กœ ๋’ค๋ฅผ  ์‹คํ–‰ํ•˜๊ฒŒ ํ•œ๋‹ค. 

 

 

 

---------------

์ปจ์ŠคํŠธ๋Ÿญ์…˜์€ ๋ ˆ๋ฒจ์— ๋†“์—ฌ์•ผ์ง€ ์‹คํ–‰๋˜๋Š” ๋ธ”ํ”„์ด๋‹ค. 

๋ ˆ๋ฒจ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๊ทธ ๋ ˆ๋ฒจ์ด ๋งŒ์•ฝ์— ์‹œ์Šคํ…œ์„ ์งœ๋ƒ์— ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ ๋ ˆ๋ฒจ ์ด๋ฆ„์˜ out์ด ๋ถ™์–ด์žˆ์œผ๋ฉด ์‹ ๋ฐœ์„ ์‹ ๊ธฐ๊ณ  in์ด ๋ถ™์–ด์žˆ์œผ๋ฉด ์‹ ๋ฐœ์„ ๋ฒ—๊ธฐ๋Š” ๋“ฑ์„ ํ–‰๋™์„ ์ž๋™์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

split์„ ๋ณด๋ฉด In Str ์—์„œ ๋ฌธ์ž๊ธฐํ˜ธ _์„ ๊ธฐ์ค€์œผ๋กœ ์ขŒ์šฐ๋กœ ๋‚˜๋‰ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. 

์ด๋ ‡๊ฒŒ ๋’ท์—๋ฅผ ๋งŒ๋“ค๋ฉด ์”ฌ ์ด๋ฆ„์ด out์ธ์ง€ in์ธ์ง€ ์— ๋”ฐ๋ผ ์‹ ๋ฐœ์„ ๋ณด์ผ์ง€ ์•ˆ๋ณด์ด๊ณ  ๋ชฉ๋„๋ฆฌ๋งŒ ๋ณด์ผ์ง€ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Ÿฐ ๊ฒƒ๋“ค์€ constraction scpint ๊ฐ™์€ ๊ฒƒ์„ ์ด์šฉํ•œ๋‹ค. 

 

๋‹ค๋ฅธ ์• ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฎ

Get Componet by Class  ๊ฐ€ ์ฐพ์•„ 

 

์™ธ๋ถ€ํ”„๋กœํผํ‹ฐ๊ฐ€์ง€๊ณ ์˜ค๊ธฐ

๋ผ์ดํŠธ๊ฐ’๊ฐ€์ง€๊ณ ์˜ค๊ธฐ (Custom Event)๋ฅผ Get Actor Of Class์—์„œ Return Value ๊ฐ’์„ Get Companent by Class ๋กœ ์—ฐ๊ฒฐ์„ ํ•ด์ค€๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ๊ฒƒ์€ Get Actor Of Class์˜ Actor Class ์ž๋ฆฌ์—  BP_Light Overlap์ด๋ผ๊ณ  ๋ผ์ดํŠธ ๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋“ค์–ด๊ฐ„ ๊ฒƒ ์•ˆ์— Get Component by class 

 

Get Actor of Class ( ํ•ด๋‹น Actor Class ์— ํ•ด๋‹นํ•˜๋Š” Class๋กœ ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜จ๋‹ค. ) 

Get Component by Class ( component class ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์•กํ„ฐ ์˜ ์ปดํฌ๋„ŒํŠธ ์ธ ์ŠคํฌํŠธ ๋ผ์ดํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค์ž) 

get intensity (๋ฐ๊ธฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ) ์ด์ œ ๋ณด๋ฉด ์šฐ๋ฆฌ์—๊ฒŒ๋Š” BP_Light_Overlab์˜ ์ŠคํฌํŠธ ๋ผ์ดํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ๋ฐ๊ธฐ (์ธํ…์‹œํ‹ฐ) ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ In String์— ๋„ฃ์–ด์„œ print๋ฅผ ํ•ด๋ณด๋ฉด ์ด์ œ ์ด [์™ธ๋ถ€ํ”„๋กœํผํ‹ฐ๊ฐ€์ง€๊ณ  ์˜ค๊ธฐ]๋ฅผ ์‹คํ–‰ํ•˜๋ฉด print๊ฐ€ ๋œ๋‹ค. 

 

๋ ˆ๋ฒจ์ด๋ฆ„๊ฐ€์ง€๊ณ ์˜ค๊ธฐ

Construction Script ๋ผ๋Š” ๊ฒƒ์€ ํ•ด๋‹น BP๊ฐ€ ๋ ˆ๋ฒจ์— ์˜ฌ๋ ค์ง€๋ฉด ์‹œ์ž‘๋˜๋Š” ์• ์ด๋‹ค. 

Get Current Level Name ์ด๋ผ๊ณ  ํ˜„์žฌ ๋ ˆ๋ฒจ ์ด๋ฆ„ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ์นœ๊ตฌ๋‹ค. 

์ด์ œ Split ๋ผ๊ณ  ์ด๋ฆ„์„ ์ž˜๋ผ๊ณ  ์•ž๋’ค๋กœ ๋ณด๋Š” ์นœ๊ตฌ๋ฅผ ์•ž์„œ ๋ณธ ํ˜„์žฌ ๋ ˆ๋ฒจ ์ด๋ฆ„ ๊ฐ’์—์„œ In Str ์—์„œ _๋ผ๋Š” Left S/ Right S ๋ผ๊ณ  ํ•ด์„œ ์ด์ œ ๋ณ€์ˆ˜๋ฅผ out๊ณผ in ์œผ๋กœ ๋ฐ”๊ฟ”๋‘”๋‹ค. ์—ฌ๊ธฐ์„œ _right์˜ ๊ตฌ๊ฐ„์ด ์ถœ๋ ฅ ๋˜๋Š” ๊ฐ’์ด out์ผ ๊ฒฝ์šฐ switch ๋ฌธ์˜ out์œผ๋กœ ๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  swithch๋ฌธ์˜ in์œผ๋กœ ๊ฐ„๋‹ค. ์ด์ œ Set Visibility์˜ ๊ฒฝ์šฐ target์„ sphere๋กœ ๋‘๊ณ  cube๋กœ ๊ฐ๊ฐ ๋น„์ €๋นŒ๋ฆฌํ‹ฐ๋ฅผ ์„ค์ •ํ•ด์„œ  

์ด์ œ ์˜ˆ๋ฅผ ๋“ค์–ด 000_out ์ด๋ผ๊ณ  ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ ˆ๋ฒจ์„ ๋งŒ๋“ค์–ด๋‘๊ณ  ๊ฑฐ๊ธฐ์— ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ์˜ฌ๋ ค๋ณธ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด sphere๋งŒ ๋ณด์ด๋Š” ๋ ˆ๋ฒจ์ด ์žˆ๊ณ  cube ๋งŒ ๋ณด์ด๋Š” ๋ ˆ๋ฒจ์ด ์žˆ๊ฒŒ ๋œ๋‹ค. 

 

ํŠธ๋žœ์Šคํผ์ œ์–ด

Event beginPlay ๋ฅผ ์‹œ์ž‘ํ•ด์„œ ๋ ˆ๋ฒจ์—์„œ play ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์‹œ์ž‘๋˜๊ฒŒ ํ•˜๋Š” ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์ด๊ฒƒ๋„ ํด๋ž˜์Šค ๋””ํดํŠธ์—์„œ 

์ด๊ฑฐ ์„ค์ •ํ•ด์ค˜์•ผ ํ•˜๊ณ  

 

ํ”Œ๋ ˆ์ด๋ฅผ ํ†ตํ•ด์„œ ์‹œ์ž‘๋œ ๋ธ”ํ”„๋ฅผ ์ด์ œ ํƒ€์ž„๋ผ์ธ์„ ์ถ”๊ฐ€ํ•ด์„œ 0,0 ~ 5,1๋กœ ์„ค์ •์„ ํ•ด๋†“๊ณ  ์ด์ œ ํƒ€์ž„๋ผ์ธ์˜ Play์— ๋„ฃ๋“  Play from Start์— ๋„ฃ๋“  ํ•˜๋ฉด ๋˜๊ณ  ์ดํ›„์— ํƒ€์ž„๋ผ์ธ์˜ ๋์— Update๋Š” SetActor Relative Location ์„ ์—ฐ๊ฒฐํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ Set Actor RelativeLocation์€ ์œ„์น˜ ์‹œํ‚จ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์—ฌ๊ธฐ์— ํƒ€์ž„๋ผ์ธ์˜ ์ถœ๋ ฅ๋˜๋Š” 0~1๊นŒ์ง€์˜ ๋ณ€ํ™”๊ฐ’์€ ์ด์ œ Z ๊ฐ’์„ ๋ณ€ํ™”ํ•œ๋‹ค.  ๊ธ€๊ณ  ๋๋‚ ๋•Œ๋Š” ํ•ด๋‹น ํ•˜๋Š” ๊ฒƒ์˜ ๋ฐ˜๋Œ€๋กœ ์›€์ง์ธ๋‹ค. ํ”Œ๋ ˆ์ดํ•˜๋ฉด