[UE5] ๐Ÿฃ Expose on Spawn

Singery00ยท2024๋…„ 7์›” 22์ผ
0

UE5

๋ชฉ๋ก ๋ณด๊ธฐ
30/37
post-thumbnail

๊ฐœ์š”

๐Ÿฃ ์•กํ„ฐ Spawn๊ณผ ๋™์‹œ์— ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•ด๋ณด์ž.

๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์ค‘ ์ ์ด๋‚˜ ์•„์ดํ…œ ๋“ฑ ์—ฌ๋Ÿฌ ์ƒํ˜ธ์ž‘์šฉ์ด ํ•„์š”ํ•œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.
์ด๋•Œ Spawn Actor๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์†Œํ™˜ํ•˜๋Š”๋ฐ, ์•กํ„ฐ๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•˜๋Š” ๊ฐ’์„ Set ํ˜ธ์ถœ์—†์ด ์†Œํ™˜๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

์ฐธ๊ณ  ๋งํฌ


๋ณธ๋ก 


๐Ÿฃ Expose on Spawn

์•กํ„ฐ๋ฅผ ์†Œํ™˜ํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ฐ’๋“ค์„ ํ• ๋‹นํ•ด์ค˜์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์†Œํ™˜๋œ ์•กํ„ฐ๋ฅผ ๋Œ์–ด์„œ ๋ณ€์ˆ˜์˜ Setter๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ํ˜ธ์ถœํ•œ๋‹ค๋˜๊ฐ€, ์ดˆ๊ธฐํ™” ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ
์ƒ์„ฑ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•˜๋ฉด ํŽธํ•˜๊ฒ ์ฃ .


๋ณ€์ˆ˜ ์ƒ์„ฑ

์šฐ์„  ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์œ ๋‹›์ด๋ผ๋Š” ์•กํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ƒ์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
์ด ์œ ๋‹›์— ํŒ€ ์ธ๋ฑ์Šค, ํŒ€ ์ƒ‰์ƒ์„ ์†Œํ™˜๊ณผ ๋™์‹œ์— ์ง€์ •ํ•ด์ฃผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.


์˜ต์…˜ ์ฒดํฌ

๊ทธ๋ฆฌ๊ณ  ๋ณ€์ˆ˜๋ฅผ ์„ ํƒํ•œ ํ›„ Details ํŒจ๋„์˜ Variavble ์„ค์ • ์„น์…˜์„ ์ฐพ์•„ ์ฃผ์„ธ์š”.
๊ทธ๋Ÿผ ์•„๋ž˜์— ๋‹ค์–‘ํ•œ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ 2๊ฐ€์ง€๋ฅผ ์ฒดํฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Instance Editable
  2. Expose On Spawn

Instance Editable์€ ์ธ์Šคํ„ด์Šค์—์„œ ๋ณ€์ˆ˜๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.
Expose On Spawn์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ˜๋“œ์‹œ ์ฒดํฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Expose On Spawn์€ ์•กํ„ฐ ์ƒ์„ฑ ์‹œ์— ํ•ด๋‹น ๋ณ€์ˆ˜ ํ•€์„ ๋…ธ์ถœ์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
์ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑ๋  ์•กํ„ฐ์˜ ๋ณ€์ˆ˜๊ฐ’์„ ๋ฐ”๋กœ ํ• ๋‹นํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Spawn Actor From Class ํ™•์ธ

๊ทธ๋Ÿผ Spawn Actor From Class ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ์ƒ์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์†Œํ™˜ํ•  ์•กํ„ฐ ํด๋ž˜์Šค์— ์ƒ์„ฑํ•œ BP_Unit์„ ๋„ฃ์–ด ์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์•„๋ž˜์— Expose On Spawn์œผ๋กœ ์„ค์ •ํ•œ ๋ณ€์ˆ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ฐ’์— ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์–ด ์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ ๋‹นํ•œ ๊ฐ’์„ ์ž„์˜๋กœ ๋„ฃ๊ณ  ํ…Œ์ŠคํŠธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์œ ๋‹›์˜ ํ๋ธŒ ์ƒ‰์„ ์ง€์ •ํ•œ ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ๋จธํ…Œ๋ฆฌ์–ผ์„ ์„ค์ •ํ–ˆ๊ณ  ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•ด์คฌ์Šต๋‹ˆ๋‹ค.

์ž˜ ๋ฉ๋‹ˆ๋‹ค.

C++ ์‚ฌ์šฉ์‹œ

ํ˜น์‹œ C++๋กœ ๊ฐ’์„ ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด UPROPERTY()์˜ ์˜ต์…˜๊ฐ’์— meta = (ExposeOnSpawn = "true")๋ฅผ ๋„ฃ์–ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Replicated, meta = (ExposeOnSpawn = "true"))
	int TeamNumber;

	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Replicated, meta = (ExposeOnSpawn = "true"))
	FLinearColor TeamColor;

๋งˆ๋ฌด๋ฆฌ

ํ•˜๋‚˜์˜ ์ด์Šˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

AI Spawn ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์‹œ์—๋Š” Expose On Spawn ๋ณ€์ˆ˜๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ค๋ž˜๋œ ์ด์Šˆ๊ฐ™์€๋ฐ ์™œ ๊ทธ๋Ÿฐ์ง€์— ๋Œ€ํ•œ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜๊ฐ€ ์—†๋„ค์š”.

์ด ๊ฒฝ์šฐ ์ดˆ๊ธฐํ™”ํ•จ์ˆ˜๋ฅผ ์–ด์ฉ”์ˆ˜ ์—†์ด ์‚ฌ์šฉํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

AI Spawn์‹œ ๋ณ€์ˆ˜ ๋…ธ์ถœ ๋ถˆ๊ฐ€ ์ฐธ๊ณ  ํฌ๋Ÿผ

profile
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ณด์ž

0๊ฐœ์˜ ๋Œ“๊ธ€