์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [Unreal] Game Instance, Subsystem

    [Unreal] Game Instance, Subsystem

    1. Game InstanceGame Instance๋Š” ๊ฒŒ์ž„์ด ์‹œ์ž‘ํ•  ๋•Œ ๋งŒ๋“ค์–ด์ ธ ๊ฒŒ์ž„์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์กด์žฌํ•œ๋‹ค.๋ ˆ๋ฒจ์ด ๋ณ€๊ฒฝ๋˜์–ด๋„ ๊ณ„์† ์œ ์ง€๋˜์–ด ์ •๋ณด๋“ค์„ ์ €์žฅํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.์‹ฑ๊ธ€ํ†ค๊ณผ ๊ฑฐ์˜ ๋น„์Šทํ•œ ๊ฐœ๋…์ด๋‹ค. ์ƒ์„ฑ๋œ ๊ฒŒ์ž„ ์ธ์Šคํ„ด์Šค๋Š” ํ”„๋กœ์ ํŠธ ์„ธํŒ…์—์„œ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋•Œ ํŠน์ • ๊ฒŒ์ž„ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๋ฉด ๊ฒŒ์ž„ ์ค‘ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์„ ํƒ๋œ ํ•˜๋‚˜์˜ ๊ฒŒ์ž„ ์ธ์Šคํ„ด์Šค๋งŒ ์กด์žฌ ๊ฐ€๋Šฅํ•˜๋‹ค.  ๊ฒŒ์ž„ ํ๋ฆ„ ๊ฐœ์š”์— ๋”ฐ๋ฅด๋ฉด ๊ฒŒ์ž„ ์ธ์Šคํ„ด์Šค๋Š” ๊ณต์‹์ ์œผ๋กœ ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „, ๋จผ์ € ๊ฒŒ์ž„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ(Create)ํ•œ ํ›„ ์ดˆ๊ธฐํ™”(Init)๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.   2. SubsystemSubsystem์€ ์ˆ˜๋ช…์ด ๊ด€๋ฆฌ๋˜๋Š” ์ž๋™ ์ธ์Šคํ„ด์‹ฑ ํด๋ž˜์Šค์ด๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์•„๋„ ์—”์ง„์ด ์•Œ์•„์„œ ์ธ์Šคํ„ด์‹ฑ..

    [Unreal] Object,  Actor, Component

    [Unreal] Object, Actor, Component

    1. Object1) UObjectUObject๋Š” ์–ธ๋ฆฌ์–ผ์ด ์„ค๊ณ„ํ•œ ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ์˜ ๋‹จ์œ„ ์˜ค๋ธŒ์ ํŠธ๋กœ ์–ธ๋ฆฌ์–ผ์˜ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ƒ์†ํ•˜๋Š” ๋ฒ ์ด์Šค ํด๋ž˜์Šค์ด๋‹ค.C++ ์˜ค๋ธŒ์ ํŠธ(๋„ค์ดํ‹ฐ๋ธŒ ํด๋ž˜์Šค)์ €์ˆ˜์ค€์˜ ๋น ๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์‚ฌ์šฉํ•œ๋‹ค.์ ‘๋‘์‚ฌ FUObject ์˜ค๋ธŒ์ ํŠธC++ ์˜ค๋ธŒ์ ํŠธ์— ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ์˜ค๋ธŒ์ ํŠธ์ด๋‹ค.์ฝ˜ํ…์ธ  ์ œ์ž‘์— ๊ด€๋ จ๋œ ๋ณต์žกํ•œ ์„ค๊ณ„ ๊ตฌํ˜„์— ์‚ฌ์šฉํ•œ๋‹ค.์ ‘๋‘์‚ฌ U 2) UHT(Unreal Header Tool)UObject๋ฅผ ์ƒ์†ํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ—ค๋” ํŒŒ์ผ์—์„œ ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋Š” UHT์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค. ์–ธ๋ฆฌ์–ผ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์‹œ ์šฐ์„  UHT๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ .generated.h ์†Œ..

    [Unreal] UMG

    [Unreal] UMG

    1. UMGUMG(Unreal Motion Graphic)๋Š” ์–ธ๋ฆฌ์–ผ ์—”์ง„์—์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์ž‘ ํˆด์ด๋‹ค. 2. ์‚ฌ์šฉUMG์—์„œ๋Š” UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ์œ„์ ฏ(Widget)์ด๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ์œ„์ ฏ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ(Widget Blueprint)์—์„œ ์ด ์œ„์ ฏ๋“ค์„ ํŽธ์ง‘ํ•˜์—ฌ UI๋ฅผ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋””์ž์ด๋„ˆํƒญ์€ ์‹œ๊ฐ์  ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ์„ ์œ„ํ•œ ํŽธ์ง‘์ฐฝ์ด๋‹ค.๊ทธ๋ž˜ํ”„ํƒญ์€ ์ธํ„ฐ๋ ‰์…˜ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๋งˆ๋ จ๋œ ์ฝ”๋”ฉ ์˜์—ญ์˜ ํŽธ์ง‘์ฐฝ์ด๋‹ค. ์œ„์ ฏ์€ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ์”ฌ์„ ์ตœ์ƒ๋‹จ์œผ๋กœ ํ•˜์—ฌ ๊ฐ๊ฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ๋ฐฐ์น˜ํ•˜๊ณ   ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ๋‹ด์„ ๊ฒฝ์šฐ์—” ์œ„์ ฏ์œผ๋กœ ๋ฌถ์–ด์„œ ๊ทธ๋ฃนํ™”ํ•œ๋‹ค.์ตœ์ƒ์œ„ ์œ„์ ฏ์€ ์บ”๋ฒ„์Šค ํŒจ๋„์„ ํ™œ์šฉํ•˜์—ฌ ์œ„์ ฏ๋“ค์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•œ๋‹ค.ํ•˜์œ„ ์œ„์ ฏ์€ ํŠน์ • ๊ธฐ๋Šฅ..

    [C#] Delegate, Event (Feat. ๋ฌด๋ช… ํ•จ์ˆ˜, Func, Action)

    1. Delegate(๋Œ€๋ฆฌ์ž)Delegate๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํƒ€์ž…์ด๋‹ค. ๋Œ€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”์„œ๋“œ๋ฅผ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์ „๋‹ฌํ•˜๊ณ  ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๋ฒคํŠธ์™€ ํ•จ๊ป˜ ๋Œ€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์— ๋“ฑ๋กํ•˜๊ณ  ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋“ฑ๋ก๋œ ๋ชจ๋“  ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ฒ˜๋ฆฌ๋œ๋‹ค. BeginInvoke, EndInvoke ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๋ฆฌ์ž๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์˜ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต ๋น„๋™๊ธฐ ์ž‘์—…๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.// delegate ๋ฐ˜ํ™˜ํ˜• delegate๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ....);delegate int DelegateName(int value1, string value2); ๋Œ€๋ฆฌ์ž๋Š” ๋ณดํ†ต ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๋™์‹œ์— ํ˜ธ์ถœํ•ด์•ผ ํ•  ๋•Œ ..

    [Unreal] ๋ฐ”๋ผ๋ณด๋Š” Actor์—๊ฒŒ ํšจ๊ณผ ์ฃผ๊ธฐ

    [Unreal] ๋ฐ”๋ผ๋ณด๋Š” Actor์—๊ฒŒ ํšจ๊ณผ ์ฃผ๊ธฐ

    ๋ฐ”๋ผ๋ณด๋Š” Actor์—๊ฒŒ ํšจ๊ณผ ์ฃผ๊ธฐ  1. Overlay MaterialOverlay Material์€ ๊ธฐ์กด ์•กํ„ฐ์— ์„ค์ •๋œ Material์— ์ถ”๊ฐ€๋กœ ๋ธ”๋ Œ๋“œ ํ•˜๊ธฐ ์œ„ํ•œ Material์ด๋‹ค. ์™ธ๊ณฝ์„ , ๋น› ๋“ฑ ์—ฌ๋Ÿฌ ์—ฌ๋Ÿฌ ํšจ๊ณผ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.  ์บ๋ฆญํ„ฐ๊ฐ€ ์ด ์•กํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณผ ๋•Œ ํ•ด๋‹น ๋จธํ„ฐ๋ฆฌ์–ผ์— M_Outline ๋จธํ„ฐ๋ฆฌ์–ผ์„ Set ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•  ๊ฒƒ์ด๋‹ค.  M_Outline ๋จธํ„ฐ๋ฆฌ์–ผ์€ ์œ„์—์„œ ์•„๋ž˜๋กœ ๋น›์„ ๋‚ด๋ฉฐ Highlight ๋˜๋Š” ๋จธํ„ฐ๋ฆฌ์–ผ์ด๋‹ค.  ๊ตฌํ˜„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Blend Mode: AdditiveShading Model: Unlit 2. Sphere Trace By Channel์บ๋ฆญํ„ฐ๊ฐ€ ์•กํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด Trace๋ฅผ ํ™œ์šฉํ•  ๊ฒƒ์ด๋‹ค.  ๋จผ์ € ํŠน์ • ์•กํ„ฐ๋งŒ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Trace ์ฑ„๋„์„ ํ•˜๋‚˜..

    [Unreal] ์นด๋ฉ”๋ผ ๊ฐœ์„ 

    [Unreal] ์นด๋ฉ”๋ผ ๊ฐœ์„ 

    1. ์นด๋ฉ”๋ผ๊ฐ€ ์บ๋ฆญํ„ฐ ๋ชธ์„ ๋šซ๋Š” ํ˜„์ƒ์บ๋ฆญํ„ฐ๊ฐ€ ์˜ค๋ธŒ์ ํŠธ์— ๊ฐ€๊นŒ์ด ๊ฐ€๊ฒŒ ๋˜๋ฉด, ์นด๋ฉ”๋ผ์™€ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ๊ฐ€๊นŒ์›Œ์ ธ ์บ๋ฆญํ„ฐ ๋ชธ์„ ๋šซ๋Š” ํ˜„์ƒ์ด๋‹ค.  Collision Presets ๋‚ด Camera ์„ค์ •์„ Block์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.Default๋กœ Block ์„ค์ •๋˜์–ด ์žˆ์ง€๋งŒ ํ˜น์‹œ๋‚˜ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ˆ˜์ •ํ–ˆ์„ ๊ฒฝ์šฐ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜๋‹ค.  ์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ๋งค์šฐ ๊ฐ€๊น๊ฒŒ ์นด๋ฉ”๋ผ๊ฐ€ ์ด๋™ํ•˜๋ฉด ์—ฌ์ „ํžˆ ๋ชธ์„ ๋šซ๊ณ  ์žˆ๋‹ค.์ด๋Ÿด ๋• ํ”„๋กœ์ ํŠธ ์„ธํŒ…์—์„œ Near Clip Plane ๊ฐ’์„ ๋ณ€๊ฒฝํ•œ ํ›„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ๋œ๋‹ค.  ์ด๋ ‡๊ฒŒ ๊ฐ€๊น๊ฒŒ ์นด๋ฉ”๋ผ๊ฐ€ ๋ถ™์–ด๋„ ๋ชธ์„ ๋šซ์ง€ ์•Š๋Š”๋‹ค.   2. ์นด๋ฉ”๋ผ ์ถฉ๋Œ์ด ์–ด์ƒ‰ํ•œ ํ˜„์ƒ์นด๋ฉ”๋ผ์™€ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ๊ฐ€๊นŒ์›Œ์ง€๋ฉด ์ˆœ๊ฐ„์ ์œผ๋กœ ์นด๋ฉ”๋ผ๊ฐ€ ์ด๋™๋˜๋Š”๋ฐ, ์›€์ง์ž„์ด ๋”ฑ๋”ฑํ•ด์„œ ์–ด์ƒ‰ํ•ด ๋ณด์ธ๋‹ค.  ๊ทธ๋ž˜์„œ ์นด๋ฉ”๋ผ Collision์„ ์ง..