๐
2025-08-26
VFX ์
์ฒด๊ฐ ๋ง๋ ์คํ์๋ ์์กด ๊ฒ์
95% ๋ธ๋ฃจํ๋ฆฐํธ 5% - ๋ฉํฐํ๋ ์ด
๋์์ด๋๋ค์ด ๋ธ๋ฃจํ๋ฆฐํธ๋ก ์ด๋ป๊ฒ ์์
๊ณผ ์์
์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋์ง
Advanced Niagara: No-Prticle Emitters. ํํฐํด ์์ด ํจ๊ณผ ๊ตฌํ
Simulation Stages: ์ปค์คํ
๋ฃจํ๋ฅผ ๋์ด์๊ฐ๋ผ์์ ๊ตฌํ ๊ฐ๋ฅ. cascade ์ด์์ ๋ฐฉ์
Grids: ๋์ด์๊ฐ๋ผ์ ์ด๋ค ์ ๋ณด๋ ์ ์ฅ ๊ฐ๋ฅ.
Data Interfaces: ๋ฐ์ดํฐ๋ฅผ ๋์ด์๊ฐ๋ผ์ ๋ก๋ฉํ๋ ๋ฐฉ์.
Particle Readers: ํํฐํด์๊ฒ ์ด๋ค ์ ๋ณด๋ ์ง ์ ๊ทผํ๊ธฐ ์ํด ์ฌ์ฉ.
๋์ด์๊ฐ๋ผ ๋ฃจํ: ์ดํฐ๋ ์ด์
์นด์ดํธ๊ฐ ๋ช์ด๋ ์ด ์นด์ดํธ์ ๋๋ฌํ์ง ๋ชปํ๋ฉด ๋ค์ ๋ฐ๋ณต
๋์ด์๊ฐ๋ผ์์ ์์ํ ๋ ๋ ํ๊ฒ์ ํ ์ ์์. ํํฐํด์ ๋ ๋ ์ ๋ณด๋ฅผ ๋ฃ์ ์ ์๋ค.
๋ชจ๋ ๊ทธ๋ฆฌ๋๋ ๋ชจ๋ ํํฐํด์ ๋ฐ๋ผ๋ณด๊ณ ์์->์ด ๋ฌธ์ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์ด๋ฒ ๊ทธ๋ฆฌ๋ ์ฌ์ฉ
๋ค์ด๋ฒ ๊ทธ๋ฆฌ๋: ๋ค๋ฅธ ํํฐํด์๋ํ ๋ ํผ๋ฐ์ค ์ ๋ณด ์ ์ฅ. ๋ชจ๋ ๋ฆฌ์คํธ๋ฅผ ์ฒ๋ฆฌํ๋๊ฒ ์๋๋ผ ํน์ ํํฐํด๋ง ์ฒ๋ฆฌํ ์ ์๊ฒ ๋๋ค.
NetLoadOnClientํด๋น ์์ฑ์ด true์ธ ์กํฐ๋ ์๋ฒ์์ ์คํฐ ํธ์ถ์ด ์์ด๋ ๋ ๋ฒจ์ด ๋ก๋๋ ๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๊ธฐ ์ชฝ์์ ์๋์ผ๋ก ์คํฐํ๋ค.
๋ ๋ฒจ์ ๊ณ ์ ์ ์ผ๋ก ๋ฐฐ์น๋๋ ์กํฐ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ค์ค๋ก ์คํฐํ๋๋ก ํ๋ค.
Replication Notify์์ฑ ๊ฐ์ด ๋ณ๊ฒฝ๋์ด ํด๋ผ์ด์ธํธ์ ๋ ํ๋ฆฌ์ผ์ด์
๋ ๋๋ง๋ค ํธ์ถํ๋ค.
ReplicatedUsing ํค์๋๋ก ์ ์ํ๋ค.
์ฝ๋ฐฑ ํจ์๋ ๋ฆฌํ๋ ์
์์คํ
์ด ๋ฑ๋กํ๊ณ ์ ๋์ฌ OnRep_์ ํ์์ ์ผ๋ก ๋ถ์ธ๋ค.
์๋ฒ์์๋ ์คํ๋์ง ์๊ณ ํด๋ผ์ด์ธํธ์์๋ง ์คํ๋๋ค. ์๋ฒ์์๋ ์คํํ๋ ค๋ฉด ์ฝ๋ฐฑํจ์๋ฅผ ๋ช
์์ ์ผ๋ก ํธ์ถํด์ผํ๋ค.
private:
UFUNCTION()
void OnRep_ServerRotationYaw();
protected:
//UPROPERTY(Replicated)
UPROPERTY(ReplicatedUsing = OnRep_ServerRotationYaw)
float ServerRotationYaw;
NetUpdateFrequency์กํฐ ๋ ํ๋ฆฌ์ผ์ด์
๋น๋์ ์ต๋์น. 1์ด์ ๋ช๋ฒ ๋ ํ๋ฆฌ์ผ์ด์
์ ์๋ํ ์ง์ ๋ํ ๊ฐ(๊ธฐ๋ณธ๊ฐ: 100)
ํด๋น ๋น๋๋ฅผ ํญ์ ๋ณด์ฅํ์ง๋ ์๋๋ค. ์๋ฒ์ ์ฑ๋ฅ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๋ค.
์ฃผ์ ์กํฐ์ ๊ธฐ๋ณธ๊ฐ
์์ธก์ ํตํ ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํด์ง๋ค. ์๋ฒ์์ ์ ์ก์ ๋งค ํ๋ ์๋ง๋ค ํ๋ ๊ฒ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์กํ๊ฒ ๋ณ๊ฒฝํ๋ ๊ฒ. ๊ทธ ์ฌ์ด ๋์์ ํด๋ผ์ด์ธํธ์์ ๋ค์ ๊ฐ์ ์์ธกํ์ฌ ๋ณด๊ฐํ๋ค.
๊ฐ๋ฐํ ๋ ๋ฌด์กฐ๊ฑด ์ต์ ํ ๋จผ์ ํ์ง ๋ง๊ณ ํ๋กํ ํ์ ์ ๋ง๋ค์ด๋ณธ ์ดํ์ ์ ์ฉํ ์ง ๊ฒฐ์ . ์ด๊ฒ์ ๊ณ์ ์ธ์ง ์ฅ๋ดํ ์ ์์ผ๋ฏ๋ก ์ฃผ๋ก ๋ง์ง๋ง ๋จ๊ณ์ ์งํํ๋๊ฒ ์ข๋ค.
Relevancy์๋ฒ์์ ํด๋น ํด๋ผ์ด์ธํธ ์ปค๋ฅ์ ๊ณผ ์ฐ๊ด์ด ์๋ ์กํฐ๋ง ๋ ํ๋ฆฌ์ผ์ด์ ํ๋ค.
Owner
Instigator
AlwaysRelevant
NetUseOwnerRelevancy
OnlyRelevantToOwner
NetCullDistance
Viewer
ViewTarget
NetPriorityํด๋ผ์ด์ธํธ์ ๋ณด๋ผ ์กํฐ์ ์ ์ก ์ฐ์ ์์๋ฅผ ๊ฒฐ์ ํ๋ค. ๊ฐ์ด ํด์๋ก ์ฐ์ ์์๊ฐ ๋๋ค.
์กํฐ์ ํ์ฌ NetPriority ์์ฑ ๊ฐ์ AActor::GetNetPriority() ํจ์์์ ๊ณ์ฐ๋๋ค.
ํฌํ์ํ
์กํฐ ๊ด๋ จ ๋ฐ์ดํฐ๊ฐ ๋๋ฌด ์ปค์ ๋์ญํญ์ ๋์ด์ ๊ฒฝ์ฐ๋ฅผ ํฌํ ์ํ๋ผ๊ณ ํ๋ค. ํ์ฌ NetPriority ๊ฐ์ด ๊ฐ์ฅ ๋ฎ์ ์กํฐ๋ ๋ค์ ์๋ฒ ํฑ์์ ๋ ํ๋ฆฌ์ผ์ด์
๋๋ค.
NetDormancyํด๋ฉด ์ํ. ์กํฐ๊ฐ ๋ ํ๋ฆฌ์ผ์ดํธ ๋์์ง๋ง ์์ฃผ ์์ ๋์ง ์๋ ๊ฒฝ์ฐ ํด๋ฉด ์ํ๋ก ์ค์ ํ๋ฉด ๋์ด์ ํ๋กํผํฐ ๋ ํ๋ฆฌ์ผ์ด์
์ด๋ RPC๊ฐ ๋์ํ์ง ์๋๋ค.
์์ฃผ ์์ ๋๋ ์กํฐ๋ฅผ ํด๋ฉด ์ํ๋ก ๋๋ฉด ๋ ํ๋ฆฌ์ผ์ดํธ๋ฅผ ๊ณ์ ์๋ํ๊ณ ์คํจํ๋๊ฒ ๋ฐ๋ณต๋๋ฉฐ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
DORM_Never
์ ๋ ํด๋ฉดX.
DORM_Awake
ํด๋ฉด ์ํX. ๋ ํ๋ฆฌ์ผ์ด์
๋์. (๋ค์ ํด๋ฉด ๋ ์๋ ์๋ ์ํ)
DORM_Initial
ํด๋ฉด ์ํ๋ก ์์ํ๊ณ , ํ์ํ ๋ ๊นจ์ธ ์ ์๋ ์ํ.
DORM_DormantAll
๋ชจ๋ ์ปค๋ฅ์
์๊ฒ ํด๋ฉด ์ํ.
DOREPLIFETIME
ํ๋ฒ ๋ ํ๋ฆฌ์ผ์ด์
์ ๋ฑ๋ก๋๋ฉด ๋ค์ ํด์ ํ ์ ์๋ค.
DOREPLIFETIME_CONDITION
์ด๋ค ํด๋ผ์ด์ธํธ ์ปค๋ฅ์
์ผ๋ก๋ง ๋ ํ๋ฆฌ์ผ์ด์
ํ ์ง ๋ฑ ๋ ํ๋ฆฌ์ผ์ด์
์ ๋ฑ๋ก๋ ํ๋กํผํฐ๋ฅผ ์กฐ๊ฑด์์ ํตํด ์ข ๋ ์ธ๋ฐํ๊ฒ ์กฐ์ ํ ์ ์๋ค.
์ธ๋ฆฌ์ผ ํ์คํ 2์ผ์ฐจ์์๋ ๋์ด์๊ฐ๋ผ์ ๊ฐ์ ๋ ๋๋ง ๊ด๋ จ ์ด์ผ๊ธฐ๊ฐ ๋ง์ด ๋์๋ค. ๊ด์ฌ์๋ ์ฃผ์ ์๋๋ฐ ๋ด๊ฐ ๊ธฐ๋ณธ๊ธฐ๊ฐ ์ข ๋ ์์๋ค๋ฉด ๋ ์๋ฟ์์ํ ๋ฐ ํ๋ ์์ฌ์์ด ๋จ์๋ค.
์ถ์ฒ: 2025 ์ธ๋ฆฌ์ผ ํ์คํ
์ถ์ฒ: ์คํ๋ฅดํ์ฝ๋ฉ ๋ด์ผ๋ฐฐ์์บ ํ