๋๋ ๋จผ ๊ณผ๊ฑฐ
์ด๋ฑํ๊ต ์์ ๋ถ๋ชจ๋ ์์น๋ง๋ฅผ ๋ค์ ธ ๋ฌธ๋ฐฉ๊ตฌ๋ก ๋ฌ๋ ค๋๊ฐ ์์ ์ค๋ฝ๊ธฐ ์์ ์์ 1945๋ ๋ฉํ์ฌ๋ฌ๊ทธ๋ฅผ ํ๋ ๋
ํ๋ง์ด ์ฐ์์ ์์์ ธ ๋์ค๊ณ ์ฃผ๋จธ๋์ ์๋ ๋์ ์ ๊ทธ ๋น์ ๋ฐ์์ฐ๊ธฐ ์ ์๋ง๋ฅ ์ฆ๋ฐํด๋ฒ๋ ธ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฝค ์ค๋ ์ง๋ ๊ณ ๋ฑํ๊ต ์์ ๋ค์ํ๋ฒ ํ๋ง๊ฒ์์ ์ ํ๊ฒ ๋์๋ค.
Rabi ribi๋ ๊ฒ์์ ํ์๋๋ฐ ํ๊ธํจ์น๋ ์์ด 7๋ฑ๊ธ ์์ด๋ก ๋์ฌ๋ฅผ ๋๊ฐ๋๊ฐ ๋๊ธฐ๋ฉฐ ํ๋ ๊ธฐ์ต์ด ๋๋๋ฐ
์ฒ์์ ๋ฐ๋๊ฑธ์ ๋ณด๊ณ ํ์ง๋ง ์๊ฐ๋ณด๋ค ๊ฒ์์ด ์ง์์ธ๊ฐ ์ข์ ๋ํ์ ๋ค์ด๊ฐ ํ๊ธ ์ง์ํ ๋๊น์ง ํ๋ ๊ธฐ์ต์ด ์๋ค.
๊ทธ๋ก ๋ช๋ ๋ค ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ๋ฅผ ๊ณ์ํ๋ ๋๋ ๋ ์๊ฐ์ด ๋๋ ์ด๋ฐ ๊ฒ์์ ๋ง๋ค๊ณ ์ถ๋ค ์๋ค.
๋1๋๋ถํฐ ์ ๋ํฐ๋ก ์ฝ์ง์ ํ๋ค ๊ฝค ์ค๋์๊ฐ์ด ์ง๋ ์ง๊ธ ์ด๋์ ๋ ์ค๋น๊ฐ ๋์๋จ ์๊ฐ์ด ๋ค์ด ํ๊ณผ ํจ๊ป ๋ณธ๊ฒฉ์ ์ผ๋ก ์ก์ ํ๋ง ๊ฒ์์ ๋ง๋ค์ด ๋ณผ๋ คํ๋ค.
Rabi ribi๊ฒ์์ gif
Rabi ribi๋ ๊ฒ์์ ์ด๋ฐ ์คํ์ผ์ด๋ค.
์ด๊ฒ ์๋ง ์๋นํ ๋์ ๋์ด๋์ธ๊ฑธ๋ก ๊ธฐ์ตํ๋๋ฐ ์ฌ์ด ๋์ด๋์ฌ๋ ์ง์ง ํ๋ง ๊ฐ์ต๊น๊ฐ ๊ฐ์ฌํ๋ค
์ด๊ธฐ์ ๊ฐ๋จํ ํจํด๋ ํผํ๊ธฐ ํ๋ค์ง๋ง ๊ฒ์์ ํ๋ ์ด ํ ์๋ก ์ด๋ ค์ด ํจํด๋ ํผํด์ง๊ธฐ ์์ํ๋ค.
๋ด ์๊ฐ์๋ ๊ทธ๋ฐ์ ์ด ์ ๋ง ์ฌ๋ฏธ์์์ง ์๋ ์ถ๋ค.
์ง์ง ์ด๊ฑธ ์ด๋ป๊ฒ ํผํด? ์์ ์ ใ ใ ์ด๊ฒ ํผํด์ง๋ค ๋ก ๋ณํ๋ ์๊ฐ ๊ฒ์์์ ๋๊ปด์ง๋ ์นดํ๋ฅด์์ค๊ฐ์๋ฐ ์ข ์๋๊ฒ ๊ฐ๋ค.
ํ๋ง์ ๋ํ ์๋๋ ์ฌ๋ฌ๋ฒ ํ์๋ค.
2ํ๋ ๋ ๋จ์ ๊ฒ์ ์ค๋ธ์ ํธ์ rigidbody์ circle collider๋ฅผ ๋ฌ๊ณ cos sinํจ์๋ฅผ ๋ฐ์ ๋ง๊ตฌ์ก์ด๋ก ์ดํฌํ๊ธฐ๋ ํด๋ดค์๋ค.
ํ๋ฉด์ 500๊ฐ ๊ฐ๋์ ํ๋ง์ด ๋ฟ๋ ค์ง๋ ์๊ฐ 3700 2070s์ ์ปดํจํฐ๋ก๋ 60fps์ ์ง๊ฐ ๊ฐ๋น๊ฐ๋น ๋๋๊ฑธ ๋ณด๊ณ ์์ฌ์์ด ๋๊ปด์ก์๋ค.
2์ฃผ๊ฐ๋ ๋ง๋ค์๋ ๊ฒ์์ ๋ชจ์ต์ ๋๊ฐ ์ด๋ฐ์์ด์๋ค.


์คํ๋ผ์ดํธ๋ 1945๊ป ๋๊ฑฐํด์ ๋ง๋ค์๊ณ ๋งต์ ๋ฐฐ๊ฒฝ์ ๊ตฌ๊ธ์ด์ค์์ ๊ธ์ด์ ๋ฐ์๋ฃ์๋ค.
์ด๋ ๋๋๊ฑด ์์ฌ์์ด์๋ค. ๋ ๋ง์ ํ๋ง์ ํ๋ฉด์ ๋ฟ๋ฆด ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น? ํ๋ฉฐ ์ฐพ์๋ณด๋ ์ค ํ๋์ ์์คํ ์ ์ฐพ์๋ค.
Unity Particle System.
ํ๋จ์ ์ ํ๋ก์ ํธ๋ฅผ ํ ์ดํ Particle System์ผ๋ก ์ ์ํ๋ ํ๋ง๋ค์ด๋ค.
์ด๊ฑด Line Drawer๋ก ๋ง๋ ๋ ์ด์ ์ด๋ค.
๊ทผ๋ฐ ํผ์ ๋ง๋ค๋ค๋ณด๋ ์ด๊ฒ์ ๊ฒ ๊ผฌ์ฌ ์์คํ ๋ ์๋ง์ด์๊ณ ๊ด๋ฆฌ๋ ํ๋ค๊ณ ์ข ๋ณ๋ก์๋ค.
์๋ก ์ด ์ข ๊ธธ์๋๊ฒ ๊ฐ์๋ฐ ์ํผ ์ข ์ฌ๋๋ก๋ ํ๋ง ์์คํ ์ ๋ฃ์ ๊ฒ์์ ๋ง๋ค๊ณ ์ถ์ด์ ๋์ ํด๋ณด๋๊ฑธ ์ผ์ง๋ก ๋จ๊ธฐ๊ธฐ ์ํด ๊ธ์ ์ฌ๋ฆฐ๋ค.
๊ฒ์์ ์ต์ข ์ ์ผ๋ก ์คํ์ ํ๋งคํ๋๊ฒ์ด ๋ชฉํ๋ค.
1. ์คํธ๋ ์ค ํ ์คํธ
์ฐ์ ํ๋ง์ ์ฌ์ฉํ ๋ฉ์ธ ์์คํ ์ ์ ํด์ผ ํ๋ค.
๋๋ 3๊ฐ์ง์ ์์คํ ์ ํ๋ณด๊ถ์ ์ฌ๋ ธ๋ค.
1. Unity์ ๊ฒ์ ์ค๋ธ์ ํธ์ Circle collider๋ฅผ ๋๋ ค๋ฃ๊ณ ํ๋ฉด์ ๋ฟ๋ฆฌ๋ ๋ฐฉ์.
2. Particle System.
3. Github๋ฅผ ๋ ๋๋ค ๋ฐ๊ฒฌํ ํ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋์ ์คํฌ๋ฆฝํธ๊ฐ ๊ฐ์ง ๋ค Raycast๋ก ๋ฌผ๋ฆฌ ๊ฒ์ถ์ ํ๊ณ ComputeShade๋ก ๋ ๋ํ๋ ๋ฐฉ์
์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉฐ ์ฒ์ฒํ ์ซ์๊ฐ ๋ณด๊ฒ ๋ค.
1๋ฒ ํ๋ณด
์ผ์ ๋ฐ์ด๋๋ฆฌ ๋ด์ 500, 1000, 2000๊ฐ์ ์ค๋ธ์ ํธ๋ฅผ ์คํฐํ ๋ค ํด๋น ์ค๋ธ์ ํธ๋ค์ FixedUpdate ์ฃผ๊ธฐ๋ง๋ค X Y ์ขํ๋ฅผ -0.1~0.1 ๊ฐ๋ ์์ง์ด๊ฒ ํ์๋ค.
ํ๋กํ์ผ๋ฌ๋ฅผ ๋๋ ค๋ณด์์๋ ํ์ด 2์ฒ๊ฐ๋ง ์๋ ์ํฉ์์ 60fps๋ฅผ ๊ฐ์ ํ ์ ์งํ๋๊ฒ์ ๋ณด์ฌ์ฃผ์๋ค.
Others๋ฅผ ๋บ ์ด์ ๋ ์ ๊ฒ ์ ๋ํฐ ์๋ํฐ์์ ๋จน๋ ์์์ธ๊ฑธ๋ก ์๊ณ ์๋๋ฐ ๋น๋ํ๋ฉด ์ Others๋ฅผ ํด์ ํ๊ฑฐํ๊ณ ๋น์ทํ๊ฒ ํ๋ ์์ด ๋์ ๋นผ๊ณ ์ฒดํฌ๋ฅผ ํ๋ค.
์ฌ๊ธฐ์ ๋งต ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์คํฌ๋ฆฝํธ ์ฌ๋ฌ rigidbody๋ฅผ ๊ฐ์ง ์ค๋ธ์ ํธ๊ฐ ๋ค์ด๊ฐ๋ฉด ํผํฌ๋จผ์ค๋ ์ ์ ๋ ์ค์ด๋ค๊ฒ์ด๊ณ
ํ๋ฉด์ ํ๋ง์ ๊ฐ๋ ๋ฉ์ฐ๋ ์ํฉ์ ์ด๋ฐ ๊ฒ์์ ๋น๋ํด ๋ฐฐํฌํ๊ฑฐ๋ ํ๋งคํ๋ฉด ์ฐ๋ฆฌ ๋ถ๋ชจ๋๊ณผ ๋ด ๋งจํ์ ์งํค๊ธฐ ํ๋ค๊ฒ์ด๋ผ ์์๋์ด ํ๊ธฐํ์๋ค.
์ถ๊ฐ๋ด์ฉ - ๋ฌผ๋ฆฌ ๋ฉํธ๋ฆญ์ค์์ ํ๋ผ๋ฆฌ์ ์ถฉ๋์ ํ์ง ์๋๋ก ์ค์ ํ ๋ค Rigidbody ์ถ๊ฐ ๋ฐย Transform์ผ๋ก ์ด๋ํ๋๊ฒ์ด ์๋ Velocity๋ก ์ด๋ ํ ๊ฒฝ์ฐ ๋์ผํ ํ๊ฒฝ์์ 4ms์ดํ์ ํผํฌ๋จผ์ค๊ฐ ๋์ค๊ฒ ๋๋ค
2๋ฒ ํ๋ณด์ธ Particle System์ด๋ค
ํ๋ฉด์ 5๋ง๊ฐ์ ํํฐํด์ด ๋ ์๋ ์ํฉ์์๋ ๋ง์ด ์๋๋ ํผํฌ๋จผ์ค๋ฅผ ๋ณด์ฌ์ค๋ค.
๊ทผ๋ฐ ์ฌ์ฉํ๊ธฐ๊ฐ ์ข ๊น๋ค๋ก์ด๊ฒ ๋จ์ ์ด๋ค.
Particle system์ ์๋ธ ์ปดํฌ๋ํธ?์ธ Trigger ํญ๋ชฉ์์ ์ถฉ๋ ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํด์ค๊ป๋ฐ ์ด ๋ถ๋ถ์ ์ํ๋ ์ฝ๋ผ์ด๋๋ฅผ ์ถ๊ฐํ๋๊ฒ ์๊ฐ๋ณด๋ค ๊น๋ค๋กญ๋ค ์๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ํํฐํด์ Emit ๋๋ ์๊ฐ ๋ด๊ฐ ๋ ์ด์ ์กฐ์ ํ ์ ์๋ค. ( Force Field ์ ์ธํ๋ฉด ์๋ง ๋ฐฉ๋ฒ์ด ์์๊ฒ๊ฐ๋ค )
๊ทธ๋ ์ง๋ง ๊ทธ๋ฐ์ ์ ๊ฐ์ํด๋ ๋ง์ด ์๋๋ ํผํฌ๋จผ์ค๋ฅผ ๋ณด์ฌ์ฃผ๋๊ฑด ์๋นํ ์ฅ์ ์ด๋ค.
3๋ฒ์งธ ํ๋ณด์๋ ๊นํ์์ ์ฐพ์ ๊ธฐ๋ฌํ ์น๊ตฌ๋ค
๋งํฌ) https://github.com/jongallant/Unity-Bullet-Hell
์ฝ๋๋ฅผ ์ข ๋ฏ์ด๋ดค๋๋ฐ ๋ด ์์ค์ผ๋ก ๊ตฌํ๋ ํ๋ค๊ฒ ๊ฐ๊ณ ์ด๊ฑธ ๋ฐ๋ผ ๋ง๋๋๊ฒ์๋ ์๋นํ ์๊ฐ์ด ๋ค๊ฒ ๊ฐ์์ 5์ผ ๋ถ์ก๋ค๊ฐ ํฌ๊ธฐํ๋ค.
๋ง์ฝ ํ๋ง์ ๊ด์ฌ์ด ์๊ณ ์ 1,2ํ๋ณด๊ฐ ๋ง์์ ๋ค์ง ์๋ ์ฌ๋์ ์ ๋ง ๊ด์ฐฎ์ ๋์์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
์ฝ๋๋ ์ข ์ ์ง ๊ฒ๊ฐ๊ณ ์ํผ ์ฌ์ง์ ์ ๋ณด์ด์ง ์๋๋ฐ ์๋ง 15000, 10000 (์ค์ฐจ๋ฒ์ 500) ๊ฐ๊ฐ๋์ ํ์ ๋์ ์๋์ ํผํฌ๋จผ์ค๋ค
์์ ์ฌ์ง๋ค์ 15000๊ฐ ๊ฐ๋์ ํ
์์ ์ฌ์ง์ 10000๊ฐ ๊ฐ๋์ ํ์ด์๋๊ฑธ๋ก ๊ธฐ์ตํ๋ค.
์ด๊ฒ๋ ํผํฌ๋จผ์ค๊ฐ ์๋นํ ๊ด์ฐฎ๊ณ ๋ผ์ด์ผ์ค๋ ๋ฌธ์ ์๋๊ฒ ๊ฐ์ง๋ง ๋ด ์์ค์์ ์ดํดํ์ง ๋ชปํด์ ๋๊ฒผ๋ค.
๋ด๊ฐ ์์ฑํ์ง ๋ชปํ๋ค๋ฉด ๊ทธ๊ฒ ์๋ฏธ์๋ ์ฝ๋์ผ๊น ์ถ์ ์๊ฐ๋ ์์๋๊ฒ ๊ฐ๋ค
๊ทธ๋ผ ํ๋ณด๊ตฐ์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
1. GameObject์ Circle Collider๋ฅผ ๋ฌ์ ๋ฌด์ง์ฑ์ผ๋ก ์ดํฌํ๋ค.
- ํผํฌ๋จผ์ค๊ฐ ๋งค์ฐ ์์ข์ ๋ค๋ฅธ ์ฅ์ ์ด ์๋๋ผ๋ ๊ณ ๋ คํ ํ์๊ฐ ์์
-ย ๋ฌผ๋ฆฌ ๋ฉํธ๋ฆญ์ค์์ ํ๋ผ๋ฆฌ์ ์ถฉ๋์ ํ์ง ์๋๋ก ์ค์ ํ ๋ค Rigidbody ์ถ๊ฐ ๋ฐย Transform์ผ๋ก ์ด๋ํ๋๊ฒ์ด ์๋ Velocity๋ก ์ด๋ ํ ๊ฒฝ์ฐ ๋์ผํ ํ๊ฒฝ์์ 4ms์ดํ์ ํผํฌ๋จผ์ค๊ฐ ๋์ค๊ฒ ๋๋ค
3600๊ฐ์ ์ ๋์ ์ค๋ธ์ ํธ๊ฐ 8-8 ํ๊ฒฝ์ ๋์ผ ๊ฒฝ์ฐ 16ms์ ๋์ ํผํฌ๋จผ์ค๊ฐ ๋์ค๊ฒ ๋๋๋ฐ ๊ธฐ์กด์ ํ์ธํ๊ฒ๊ณผ ํ์ฐํ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์๋ค.
Rigidbody๋ก ํ๋ง์ ์์ฑํ๋๊ฒ๋ ์๋นํ ๋งค๋ ฅ์ ์ธ ๋ฐฉํฅ์ด๋ผ๊ณ ์๊ฐ์ด ๋ฐ๋๊ฒ ๋์๋ค.
์ง์ ๊ฒ์ฆํด์ฃผ์ ๋ถ๊ป ๊ฐ์ฌ๋ฅผ ํํฉ๋๋ค.
์ด๋ฐฉํฅ์ผ๋ก๋ ํ๋ง์ ํ๋ฒ ์ ์ํด๋ณด์์ผ๊ฒ ๋ค.
2. Particle System์ ์ด์ฉํ๋ค.
์ฅ์
- ํผํฌ๋จผ์ค๊ฐ ๋งค์ฐ ์ข์
๋จ์
- ํ๋ฒ ์์ ๋ ๋ ํ์ ์กฐ์ ํ ์ ์์ (Force Field ์ ์ธ ๊ทผ๋ฐ ํฌ์คํ๋๋ฅผ ์ฐ๋๋ผ๋ ์ด๋ค ๋ฌธ์ ๊ฐ ์๊ธธ์ง๋ ์์ง ํ ์คํธ๊ฐ ๋ง์ด ์งํ๋์ง ์์.)
- ์ถฉ๋ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ฝ๋ผ์ด๋ ๋ฑ๋ก ๊ณผ์ ์ด ์กด์ฌํจ ( ์คํฌ๋ฆฝํธ ์์ผ๋ก ์ ์ด ๊ฐ๋ฅ )
3. Compute Shade๋ฅผ ์ด์ฉํ Gpu์ ์ง์ ๋ ๋ ๋ช ๋ น, ๋ด๋ถ ์คํฌ๋ฆฝํธ์์ RayCast๋ฅผ ํตํ์ฌ ๊ฐ๋ณ์ ์ธ ๋ฌผ๋ฆฌ์ฒ๋ฆฌ
์ฅ์
- ๋ฌด๋ํ ํผํฌ๋จผ์ค
- ์์ ๋ ๋ ํ๋ง๋ Shape, ์๋ ๊ฐ์ ๋ฌผ๋ฆฌ ์ฌํญ๋ ๋ณํ ๋ฐ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํจ
๋จ์
- ๋ด ๋๋ก๋ ์ด ์ฝ๋๋ฅผ ์ดํด ๋ชปํ๊ฒ ์
์ด๋ฌํ ์ํฉ์ ๊ณ ๋ คํ์์ ๋ 2๋ฒ Particle System์ผ๋ก ํ๋ง์ ๋ง๋ค์ด ๋ณผ๋ ค๊ณ ํ๋ค.
์ด๋ฒ ๊ธ์์๋ Particle System์ผ๋ก ํ๋ง์ ๋ง๋ค๋ ค๋ฉด ์ด๋ค ๋ฐ์์ ์ ํ๋ฉด ์ข์์ง์ ๋ด๊ฐ ์๊ฐ์ ์ป๊ฒ๋ ์ ํ๋ธ ๋งํฌ๋ฅผ ์ฌ๋ฆด๋ ค๊ณ ํ๋ค.
์ฐ์ ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ์์ฑํด Particle System์ Add Componentํด์ ๋ฌ์์ฃผ๊ฑฐ๋ ์์ฑํ ๋ Particle System์ ์ ํํด ๋ง๋ค์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ ์ผ์ง์ ์ผ๋ก ๋ฐ์ฌํด์ฃผ๊ธฐ ์ํด Shape๋ฅผ ๋ณํํด์ค๋ค.
๋๋ Shape์ ํญ๋ชฉ์ ๋ณ๊ฒฝํ์ฌ ์ผ์ง์ ์ผ๋ก ํ๋ง์ ๋ฐ์ฌํ๊ฒ ํ์๋ค.
Shape -> Edge
Radius -> 0์ผ๋ก ์ ๋ ฅํ๋ฉด 0.0001๋ก ์ ๋ ฅ๋จ.
Mode -> ๊ทธ๋ฅ ๋
Spread -> ๊ทธ๋ฅ ๋์์ํ ๋ฐ 0์ผ๋ก ์ค์
์๋ง ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ๊ทธ๋ฅ ๋ง๋ค๋ฉด 2D๋ฅผ ๋๋ฅด๊ฑฐ๋ ์นด๋ฉ๋ผ๋ฅผ Orthographic์ผ๋ก ๋ณ๊ฒฝํ์๋ผ ์นด๋ฉ๋ผ๊ฐ ๋ณด๋ ๋ฐฉํฅ์ผ๋ก ํ์ ๋ฐ์ฌํ ๊ฒ์ด๋ค.
๊ทธ๋์ ๋ Particle System GameObject์ Rotation์ Y์ถ์ 180์ผ๋ก ๋ณ๊ฒฝํ์๋ค.
<๋ณ๊ฒฝ ์ฌ์ง>
๊ทธ๋ฌ๋ฉด ํ๋ง์ ์ฌ์ฉํ ๋งํ ๋ฆฌ์ผ์ ๋ง๋ค์ด๋ณผ ์ฐจ๋ก๋ค.
PixelArt ์คํ์ผ์ ๊ฒ์์ ๋ง๋ค๊ฑฐ๊ธฐ์ ํ๋ง๋ ๊ทธ์ ๋ง์ถฐ ๋ง๋ ๋ค.
PPU๋ฅผ ์ค์ ํด์ฃผ๊ณ Fiter Mode๋ฅผ Point, Max Size๋ ์คํ๋ผ์ดํธ์ ํฌ๊ธฐ์ ๋ง๊ฒ ๊ทธ๋ฆฌ๊ณ Compression์ None์ผ๋ก ํด์ฃผ์๋ค.
์ดํ ๋น ๋งํ ๋ฆฌ์ผ์ ๋ง๋ค์ด Legacy Shaders/Particles/Additive ๋ก ์ค์ ํ์๋ค.
์ดํ ๋งํ ๋ฆฌ์ผ์ ๋ด๊ฐ ๋ฃ์ ํ๋ง์ ์คํ๋ผ์ดํธ๋ฅผ ๋ฃ๊ณ Particle System์ Renderer ํญ๋ชฉ์ Material์ ๋ง๋ ๋งํ ๋ฆฌ์ผ์ ๋ฃ์ผ๋ฉด ํ๋จ์ฒ๋ผ ๋ณํ๊ฒ ๋๋ค.
Particle System ๋ด๋ถ๋ ๋๋ถ๋ถ ์ฝ๋์์์ ์์ ํด์ (Material์ด๋ Shape ์ง๊ธ ์ค์ ํ๋ ๋ชจ๋ ๊ฒ๋) ํฌ๊ฒ ์๋ฏธ ์๋ ํ์๊ธด ํ๋ฐ
ํ๋ง์ด ๋๊ฐ๋ค๋๊ฑธ ํ์ธํด ๋ณด๋๊ฒ ์ข ์ค์ํ๊ฒ ๊ฐ๋ค.
๊ฐ๋ฅํ๊ฒ์ ์๊ณ ๋ค๋น๋๊ฒ๊ณผ ๋ชจ๋ฅด๊ณ ๋ค๋น๋๊ฒ์ ํ๋๊ณผ ๋ ์ฐจ์ด๋๊น
์ด๊ธ์ ์ฌ๋ฆฐ ๋ค์๋ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์์์ ์ผ๋ก ํํฐํด์ ๋ถ์ฌํด๋ณด๊ณ ๊ฐ๋จํ ํจํด์ ๋ง๋๋๊ฒ๊น์ง ํด๋ณผ๊ฒ ๊ฐ๋ค.
์ด๋์ ๋ ์ ๋ฆฌ๊ฐ ๋๋ฉด ๋ ์ฌ๋ฆฌ๋ฌ์ด
๋ชฉํ ์ง์ < ๋ณ๋๋ ์ ์์ >
1. ํํฐํด ์์คํ ์ ์ค์ <-- ํ์ ์์น
2. ํํฐํด ์์คํ ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ์
3. ๊ฐ๋จํ ํจํด์ ๋ง๋ค์ด๋ณด๊ธฐ
4. ์ฌ๋ฌ ํจํด์ ์ด์ด ์ฐ์์ ์ผ๋ก ๊ทธ๋ฆฌ๊ณ ๋์์ ๋ค์ํ ํจํด์ ๋ถ์ฌํ ์ ์๋๋ก ํ๊ธฐ
5. ๋ณตํฉ์ ์ธ ํจํด์ ๋ง๋ค์ด ๋ณด๊ธฐ
6. ์ฝ๋์์ผ๋ก ๋ฏธ๋ฆฌ ์ ์๋ ํจํด์ ScriptAbleObject ํน์ Excel๋ฑ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ํ์ฌ ํ ์ธ์๋ ์ฝ๊ฒ ํจํด์ ์ ์ํ ์ ์๋๋ก ํ๊ธฐ
7. ์ง์ฅ์ ํด๋ฆฌ์ฑ ์์
-1๋ฒ์์ ๋ํ์ฌ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์จ๊ฒ์ ๋ํ ๋ด์ฉ์ด ์ถ๊ฐ๋์์ต๋๋ค-
1๋ฒ๋ฐฉ๋ฒ ์ฝ๋ผ์ด๋ ์ธ์ ๋ฆฟ์ง๋๋ฐ๋๋ ๋ถ์ด์ ๊ฑฐ ๋ง๋์ค?
ํ๋ ์ด์ด์ rigidbody๋ถ์์๋ ์ฝ๋ผ์ด๋์ ํธ๋ฆฌ๊ฑฐ ํ์ฑํํ ์ค๋ธ์ ํธ๋ง์ผ๋ก๋ ํธ๋ฆฌ๊ฑฐ ๊ฒ์ถ์ด ๋์ด์ ํ์๋ ๋ฐ๋ก rigidbody๋ฅผ ๋ถ์ด์ง ์์์ต๋๋ค
์ฝ๋ผ์ด๋๋ง ๋ถ์ด์๋ ๊ฒฝ์ฐ ์ ์ ์ค๋ธ์ ํธ๋ก ํ๋ณ๋์ด ์์ง์ด๋ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ธ ์ฐ์ฐ์ ํ๋ค๊ณ ๋ค์์ด์ค. ์ฝ๋ผ์ด๋ ์์ง์ด๋ ๊ฒฝ์ฐ์๋ ๋ฆฟ์ง๋๋ฐ๋ ์ถ๊ฐํ์๊ณ ์์ง์ด์ ์ผํด์ค. ๋ฆฟ์ง๋๋ฐ๋ ๋ถ์ฌ์ ๊ฐ์ฒด๋ก ์ค์ ํ๊ณ ํ ์คํธํด๋ณด์๋ ๊ฒ๋ ์ถ์ฒํด์ค.
๋ฐ๋ก ํ๋ฒ ์์ธํ๊ฒ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค ์๊ฒฌ ๊ฐ์ฌํฉ๋๋ค
์ ๋ ๋ผ๋น๋ฆฌ๋น ์ฌ๋ฐ๊ฒ ํ์๋๋ฐ ํ๋งํจํด์ ๋ผ๋น๋ฆฌ๋น ๋น์ทํ ๋๋ ๋ด๊ณ ์ถ์ด์ ๊ณ ๋ฏผ์ค์ด์ผ์ค ! ๋ค์ ๊ฐ๋ฐ์ผ์ง ๊ธฐ๋ค๋ฆด๊ฒ์ค !!!
์กฐ์ธ ๊ฐ์ฌํฉ๋๋ค ํ๋ฒ ํ์ธํด๋ดค์ต๋๋ค. ์์ ์ฌ์ง๊ณผ ๋์ผํ ํ๊ฒฝ x8 y8 ๊ฐ๋์ ๋ฒ์ ๋ด์์ ์ํ ์ค๋ธ์ ํธ์ rigidbody๋ฅผ ๋ถ์ฐฉํ๊ณ ํ ์คํธ๋ฅผ ๋ค์ ์งํํด๋ณด์๋๋ฐ 2Dsprite-Circle๋ก ์์ฑ๋ scale 0.2-0.2-1์ ์ํ ์ค๋ธ์ ํธ๊ฐ ๋ฒ์๋ด์ 1560~1570๊ฐ๋์ ์ค๋ธ์ ํธ๊ฐ ์์ฑ๋ ์ IsTrigger๊ฐ ํ์ฑํ ๋ ๊ฒฝ์ฐ 16ms~33ms IsTrigger๊ฐ ๋นํ์ฑํ๋์ด์์ ๊ฒฝ์ฐ ํ๊ท 32ms~33ms์ผ๋ก ์คํ๋ ค ํผํฌ๋จผ์ค๊ฐ ์ข ๋จ์ด์ง ๋๋์ด๋ค์ ํ๋ง ๊ฒ์์ ํน์ฑ์ ๊ฒน์น๋ ํ์ด ๋ง์ ์ด ๊ฒฝ์ฐ๋ ์ ํฉํ์ง๋ ์์๊ฒ ๊ฐ์ต๋๋ค. Dynamic ๊ทธ๋ฆฌ๊ณ Kinematic์ ๊ฒฝ์ฐ๋ ํ์ธํด๋ดค์ง๋ง ๋๋ค ๋น์ทํ๊ฒ ํ์ด ๋ง์ด ๊ฒน์น๋ ์ํฉ์ด ๋์ฌ ๊ฒฝ์ฐ ํผํฌ๋จผ์ค๊ฐ ๋ง์ด ๋จ์ด์ก์ต๋๋ค.
์ด ๊ธ์ ๋ณด๋ ๋ถ๋ค์ด ์ ๊ฐ ์ฒดํฌํ์ง ๋ชปํ ๋ถ๋ถ์ ๋ํ์ฌ ๊ถ๊ธ์ฆ์ ๊ฐ์ง ์ ์๋ ๋ถ๋ถ์ ๋จผ์ ๋ง์ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๊ฐ๋จํ๊ฒ ํ์ธํด๋ณธ๊ฑฐ๋ผ ์ถ๊ฐ์ ์ผ๋ก ํ ์คํธ๋ฅผ ๊ณ์ ํด๋ณด๊ณ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์ฌ๋ ค๋ด์ผ๊ฒ ๋ค์
ํ๋ผ๋ฆฌ ์ถฉ๋๋์์ ๊ฒฝ์ฐ ๋ฐ๋ก ํ ์์ ์ด ์์๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ physics ๋งคํธ๋ฆญ์ค ์ค์ ํด์ ํ ๋ผ๋ฆฌ ์ถฉ๋๊ฒ์ฌ ์ ์ธํด๋ ๊ทธ๋ฐ๊ฐ์ค?
์ ๋ฉํธ๋ฆญ์ค์์ ์ ์ธ๋ฅผ ์ํ์๋ค์ ํ๋ผ๋ฆฌ ์ถฉ๋์ ์ ์ธํ ๊ฒฝ์ฐ ๋์ผํ ํ๊ฒฝ์ 2000๊ฐ ๊ฐ๋์์ 10ms ~ 16์ ๋ ๋์ค๋ค์
+ ์ถ๊ฐ์ ์ผ๋ก fixedupdate์์ ์ด๋์ํฌ ๋ rigidbody ์ด์ฉํด์ ์์ง์ด์ ๊ฒ ๋ง๋์ค? ํธ๋์คํผ์ผ๋ก ํฌ์ง์ ์กฐ์ํ๊ฒ ์๋๋ผ์. ์ ์ง ๋จํํ ํ ์คํธ ๋์ ์ํค๋ ๊ฒ ๊ฐ์ ๋๋์ด ๋์ด๋ฒ๋ ค์ ์ํ์ ๋ ๋์ง๋ง ์ ํ๋ก์ ํธ ์์์๋ 2์ฒ๊ฐ ๊ฐ๋ velocity๋ก ์ด๋์์ผ๋ณด์๋ 4ms์ ๋ ์์๋๋ค์ค.
์ ๋ ๊ด์ฐฎ์ต๋๋ค ์คํ๋ ค ๋ฐฐ์ฐ๋ ์ ์ฅ์ด๋ผ ๊ฐ์ฌํ ๋ฐ๋ฆ์ ๋๋ค Velocity๋ก ์ด๋์์ผ๋ณด๋ ์ ๋ ์ฝ 4ms์ ๋ ์์๋๋ค์
ํน์๋ผ๋ ๋ชจ๋ฅด์๋ ๊ฒ ๊ฐ์์ ์ฃผ์ ๋๊ฒ ๋ค์ ์ ๋ฆฌํด๋๋ฆฌ์๋ฉด ์ ์ ์ค๋ธ์ ํธ๊ฐ ์๋ ์ถฉ๋์ฒด๊ฐ ์ด๋ํ๋ ๊ฒฝ์ฐ rigidbody + ์ด์๊ฐ์ ๊ฑด ๊ฐ์ฒด๋ก ์ค์ ํ์, ์๋ก ์ถฉ๋ ์๊ด์๋ ๊ฒฝ์ฐ ๋ ์ด์ด ๋๋๊ณ ์ถฉ๋ ๊บผ์ฃผ๊ธฐ, rigidbody๋ถ์์ผ๋ฉด transform์ด ์๋ rigidbody๋ก๋ง ์์ง์ฌ์ฃผ๊ธฐ์ผ์ค. ํํฐํด์์คํ ์ผ๋ก ํ๋ง์ ๋ง๋ค์ด๋ณด์ง ์์์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ๊ฒ๋ณด๋จ rigidbody๋ก ์กฐ์ํ๋๊ฒ ํจ์ฌ ํ๋ง ํจํด ๊ตฌ์ฑํ๊ธฐ ์ฝ์ง ์์๊น ์ถ์ด์ค. ์ฑ๋ฅ์ ์ธ ๋ถ๋ถ์ ํ๋ฒ ๋์ผ ํ๊ฒฝ ๋ง๋์๊ณ ๋น๊ตํด๋ณด์๋ฉด ์ข์๋ฏ. ์ถ๊ฐ์ ์ผ๋ก rigidbody.MovePosition์ด๋ผ๋ ํจ์๋ก๋ ํฌ์ง์ ๊ฐ์ ์ ์ดํด์ค์์์ด์ค. velocity๋ก ์ ์ดํ๋๊ฒ ์ข๊ฒ ์ง๋ง์.
๊ฐ์ฌํฉ๋๋ค ํ๋ฒ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค ์ฌ๋ฌ ๋ฐฉ๋ฉด์ผ๋ก ํ ์คํธ ํด๋ด์ผ๊ฒ ๋ค์ ์ง์ง ๋จ์๊ฐ์์ ๋ง์๊ฑธ ๋ฐฐ์ด๊ฒ ๊ฐ์ต๋๋ค ๋ค์ ํ๋ฒ ๊ฐ์ฌํฉ๋๋ค
๋๋ ํ๋ง ์ํ ๊ฒ์ ๋ง๋๋์ค์ธ๋ฐ 1๋ฒ๋ฐฉ๋ฒ๋ฐ์ ์๊ฐ์ํด๋ดค์ ใทใท ํํฐํด ์ด์ผํ๋์ง ์ฐพ์๋ด์ผ๊ฒ ๋ค
https://www.youtube.com/watch?v=46TqkhJu7uA
๋ ์ด ์น๊ตฌ๊บผ๋ฅผ ๋ง์ด ์ฐธ์กฐํ๊ณ ์๋ธ์ปดํฌ๋ํธ?์ ๊ทผ์ ๊ตฌ๊ธ๋ง ๊ณ์ ํด์ ์ฐพ์๋ดค์๋๋ฐ ์๋ง ์ด์น๊ตฌ๊ป ๋์์ด ๋ง์ด ๋ ์ ์์๊บผ๋ผ ์๊ฐํจ
์ ์๋ ค์ค์ใณใณ ๋น์ฅ ์จ๋จน์ผ๋ฌ๊ฐ
rabi ๋ ๊ฒ 2๋ฒ์งค ์์ง ๋ถ๊ธฐ๋ฅ์ ๊ทธ๋ฅ ํจ๊ณผ์? ๋ฟ์๋ ๋ณ ์๊ด ์๋ ๊ฒ์?
์ ๊ฒ๋ ํ์ ๋ง์๊ฒ๊ณผ ํจ๊ณผ๋ ๋์ผํฉ๋๋ค 1ํ ๋ฐ๋ฏธ์ง๊ฐ ๋ค์ด์จ ๋ค ์บ๋ฆญํฐ๊ฐ ์ผ์ ์๊ฐ ๋ฌด์ ์ํ๊ฐ ๋ฉ๋๋ค
์ค! ๊ฐ์ฌํฉ๋๋ค. +
์์ง ๋ถ๊ธฐ๋ฅ ๋ฟ๊ธฐ ์ง์ ์ ๋ณด์๋ฉด ์ดํํธ ์๋๋ฐ ์ผ์ชฝ ์๋ ํ๋๊ตฌ์ฌ 5์นธ์ ์ฐจ์งํ๋ ๋ฌด์ ์คํฌ ๊ฒ์ด์ง๋ฅผ ์ฌ์ฉํ๊ฒ์ด์ผ์ค. ๊ทธ๋์ ๋ฟ์๋ ์๋ฌด์ผ์๋๊ฒ์ด์ผ์ค.
์ค, ๊ทธ๋ฌ๋ค์! ๋ฐ๋ฐ์ ๊ฒ์ด์ง๋ง ์ ๊ฒฝ์ฐ์ง๋ง๊ณ ์ฃผ๋ณ์ ๋ชจ๋ ๋ด์ผ ํ๋ ๊ฒ์ด์์ด์ค. ใณใณ
๊ตฌ๋ ํ๊ณ ์ถ์ ๊ธ ๊ฐ์ถ
๋ฐ๋ก ๊ฐ์ถ๋ฐ๊ณ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฐ์๋ค ใ ใ
๊ฐ์ถ๊ฐ์ถ - dc App