๋Œ€ํ•™๊ต ๋ณตํ•™ ์ „์— 3D FPS ์˜จ๋ผ์ธ ๊ฒŒ์ž„์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค


์ฒ˜์Œ์—” ๋ฃจํ‚ค์Šค๋‹˜ ๊ฐ•์˜์—์„œ ๋ฐฐ์šด ๊ฒƒ ๋งŒ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ๋™๊ธฐํ™”์™€ ๊ฒ€์ฆ๋‹จ๊ณ„์—์„œ ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.


๋ฃจํ‚ค์Šค๋‹˜๊ป˜ ์งˆ๋ฌธ๊ธ€๋„ ์˜ฌ๋ ค๋ณด๊ณ  ๋”ฐ๋กœ ์ฐพ์•„๋ณด๊ณ  ํ•ด๋ณด๋‹ˆ ์œ ๋‹ˆํ‹ฐ ๋ฐ๋””์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ C#์„œ๋ฒ„์— ๋ฌผ๋ฆฌ์—”์ง„์„ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.


๋ฐฉ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค ๊ณ„ํš์ธ๋ฐ(ํ•„๋“œ๋งต 4์ข…๋ฅ˜, ์นœ๊ตฌ ๋ฐฉ) ๋ฐ๋””์„œ๋ฒ„๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐฉ์„ ์—ฐ์‚ฐ๋ชปํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋„ ๋ชปํ•ด์„œ ๋ณด๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค

๋ฌผ๋ก  FPS์„œ๋ฒ„๋Š” 1์Šค๋ ˆ๋“œ ์—ฐ์‚ฐ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ๋ฃจํ‚ค์Šค๋‹˜์˜ ์˜๊ฒฌ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค๋งŒ, ์‚ฌ์‹ค ๋ฐ๋””์„œ๋ฒ„๋Š” ์ œ๊ฐ€ ๋งŒ๋“ค์–ด๋ณธ ์ ์ด ์—†์–ด์„œ ์„ ๋œป ๋ฐ”๊พธ๊ธฐ๊ฐ€ ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.


๊ฒฐ๊ตญ ๋ฌผ๋ฆฌ์—”์ง„์„ ์„œ๋ฒ„์— ์ด์‹ํ•˜๋Š” ๊ฑธ๋กœ ์„ ํƒํ–ˆ๊ณ  PhysX.Net์„ ์ฐพ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.


์„œ๋ฒ„์—๋Š” Nuget ํŒจํ‚ค์ง€๋กœ ์ ์šฉํ–ˆ๊ณ  ๋”ฐ๋กœ Github์— ๋“ค์–ด๊ฐ€์„œ PhysX.Net dllํŒŒ์ผ๊ณผ SamplesํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.


ํ•˜์ง€๋งŒ ์„œ๋ฒ„์— ์•„์ง ๋ฌผ๋ฆฌ์—”์ง„์„ ์ ์šฉํ•  ๋ฐฉ๋ฒ•์„ ๋ชฐ๋ผ Samples์—์„œ ๋จผ์ € ๋Œ๋ ค๋ณด๊ณ  ์‹ถ์–ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ‚จ ๋‹ค์Œ ๋นŒ๋“œ๋ฅผ ํ•ด๋ดค๋”๋‹ˆ


<MSB4044 "ResolvePackageAssets" ์ž‘์—…์˜ ํ•„์ˆ˜ ๋งค๊ฐœ ๋ณ€์ˆ˜ "TargetFramework"์— ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.>์˜ค๋ฅ˜์™€, TargetFrameworkIdentifier๊ด€๋ จ ์˜ค๋ฅ˜๋„ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค(์ง€๊ธˆ์€ ์™ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค)


์ด ๋ฒ„๊ทธ๋Š” ๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, PhysX๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๊ฒฝํ—˜์ด ์ด๋ฒˆ์ด ์ฒ˜์Œ์ด๋ผ ์ž˜ ํ•˜๊ณ ์žˆ๋Š”๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.


์ตœ์†Œํ•œ Sample Project๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋งŒ์ด๋ผ๋„ ์•Œ๊ณ  ์‹ถ๊ณ , ์ด๋Ÿฐ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.