Scene ์ฌ์ง์์ ์ค๋ฅธ์ชฝ์ ๋ชฌ์คํฐ๊ฐ ๋ฐ์ค ๊ณ๋จ์ ์ฌ๋ผ๊ฐ๊ฒ ํ๊ณ ์ถ์ด์
์จํธ๋ฆฌ๊ฑฐ๋ก ๋ชฌ์คํฐ๊ฐ ์ ํํ๊ฒ ๋ง๋ค์๋๋ฐ ์ด๊ฒ ํ์นธ์ฉ ์์ฌ๋ผ๊ฐ๊ณ ๊ฐ์๋๋ฅผ ๋ฐ์์ ํ๋ฒ์ ๋ ์๊ฐ ๋ฒ๋ฆฌ๊ธธ๋ ๋ ์ ์ธ์ ํ์๋๋ง ๋ฐ๋ํ๊ฒ if๋ฌธ์ ๊ฑธ์ด์ฃผ์๋๋ฐ์.
์ ๋ ๊ฒ ๊ฑฐ๋๊น ๊ณ๋จ ์ฒซ์นธ์ ์ฌ๋ผ๊ฐ๊ณ y์ถ์๋ ฅ์ด ๋์๋ ๋๋ฒ์งธ ์นธ ์จํธ๋ฆฌ๊ฑฐ๊ฐ ๋ฐ๋ํด ๋ฒ๋ฆฌ๋๊น ํ๋ฒ๋ ์ ํํ์ง ์๋๋ผ๊ตฌ์. ๋ฐฉ๋ฒ์ด ์์๊น์?
ํธ๋ฆฌ๊ฑฐ ๋ง๊ณ ํธ๋ ์ด์ฑ ์ฐ๋๊ฒ ๋์๋ฏ
๊ทธ๊ฑฐ ์ด๋ป๊ฒ ํ๋ ๊ฑด๊ฐ์? ์ฐพ์๋ด๋ ์ ๋ณด๋ค ๊ฐ ์๋๋ฐ
์บ๋ฒ์ค์์ ๋ง๋ค๊ณ ์์? ๋ญ 400์ด๋ ๊ณฑํ๋ - dc App
์ด๊ฑฐ๋ ํ์ผ ์ ๋ณด ๊ฐ์ง๊ณ ๊ฒฝ๋ก๋ฅผ ๋ง๋ค์ด์ ์ค๊ฐ์ ์ ํํด์ผํ๋ฉด ์ ํ์ง์ ๋ง๋ค์ด์ฃผ๊ณ ํด์ผ๋๋๋ฐ ์ถฉ๋ ์ด๋ฒคํธ๋ก ์ฒ๋ฆฌํด๋ฒ๋ฆฌ๋ฉด ์ด๋กํด
์ ๊ฐ ์ดํดํ๊ฒ ๋ง๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๊ทธ๋ ๊ฒ ๋ง๋ค๋ ค๋ฉด ๋งต๋ง๋ค ์ผ์ผ์ด ํด์ค์ผ ํ๋๊ฑฐ ์๋๊ฐ์? ์ซ๋ชน์ด๋ผ์ ์คํฌ๋ฆฝํธ ํ๋๋ก ์ด๋์๋ค ๋๋ ์์์ ์ฒ์ฒ ํ๊ฒ ๋ง๋ค๊ณ ์ถ๊ฑฐ๋ ์.
ํ๋ทฐ๊ฒ์ ์ด๋ํ ๋ ์์ด์คํ๋ ๋ญ๋ ๊ฒฝ๋ก ๊ณ์ฐํด์ ์์ง์ด๋ ๊ฒ์ฒ๋ผ ํ๋ซํผ ๊ฒ์๋ ์ด๋ํ ๋ ํ์ผ๋งต ๊ธฐ๋ฐ์ผ๋ก ๋ชฉํ์ง์ ๊น์ง ์ด๋ํด์ผํ ๊ฒฝ๋ก ์ฐพ์์ ์์ง์ด๋๊ฑฐ์... ํ๋ก๊ทธ๋๋จธ์ธ ๋์ด ํด์ผํ๋๊ฑด ๊ทธ ๊ฒฝ๋ก ์ฐ์ฐํ๋ ๋ก์ง์ง์ฃผ๋๊ฒ๋ง ํด์ฃผ๋ฉด ๊ธธ์ ๋ชน์ด ์์์ ์ฐพ๊ตฌ...
๊ธ๋ก๋ณด๋ฉด ์ ๋ฅ๋ ฅ ์ด์์ ๊ฒ์ธ๋ฐ ๊ด๋ จ ํํ ๋ฆฌ์ผ์ ๋ณด๋ ค๋ฉด ๋ญ๋ผ๊ณ ๊ฒ์ํด์ผ ํ ๊น์? ๊ทธ๋ฆฌ๊ณ ์ ๋ ์์ ์์๋ง ๋์ด๋ค๋์ง ์ฌ์ค์ ๊ตผ๋ฐ์ฒ๋ผ ํจํธ๋กค๋ง ํ๋ ๋ ์์ธ๋ฐ ๋ง์ํ์ ๋ก์ง์ด ๊ณผํ์ง๋ ์์๊น ๊ฑฑ์ ์ด ๋ฉ๋๋ค.
2D๋ผ์ ํํ ๋ฆฌ์ผ์ ์๋๊ฑฐ๊ฐ๊ณ ๋ฅ๋ ฅ๋ฐ์ธ๊ฑฐ ๊ฐ์ผ๋ฉด ๊ทธ๋ฅ ์ง๊ธ ๋ฐฉ์๋๋ก ํ์ ... ํํ ๋ฆฌ์ผ์ ์๋์ง๋ง ์ ๋งต์ ์ ๋ํฐ ํ์ผ๋งต ๊ธฐ๋ฅ์ผ๋ก ๊ตฌํํ๋ค๊ณ ๊ฐ์ ํ๊ณ
https://docs.unity3d.com/2019.3/Documentation/ScriptReference/UnityEngine.TilemapModule.html
๋ฌธ์๋ณด๋ฉด ํ์ผ๋งต์์ ์ธ ์ ์๋ ํจ์๋ค์ด ์์. Tilemap.GetTile ํจ์๋ก ์๊ธฐ ์ ํ์ผ ์ ๋ณด ๊ฐ์ ธ์ค๊ณ ๋ง์ฝ ํ์ผ์ด ์๋ค๋ฉด ์ ํ๋ก ๋์ ์ ์๋ ๋์ด์ธ์ง ์ฒดํฌํ๊ณ ๋์ ์ ์์ผ๋ฉด ๋๊ณ ์๋๋ฉด ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์ด๋ ๊ฒ ํด์ค๋ ๋ ๋ฏํจ. ํ์ฌ ์๊ธฐ๊ฐ ์์นํ ํ์ผ์ WorldToCell ํจ์๋ก ๊ฐ์ ธ์ฌ ์ ์์
ํ์นธ์ ์ซ์๋ก ์ด๋ป๊ฒ ํํํ๋์? If (rigid.velocity.x < 0) If( Tilemap.GetTile.ํ์ฌ์์น์์ ํ๋ ์ผ์นธ == true) Jump ์ด๋ฐ์์ผ๋ก ํ๋ฌ๊ฐ๋ฉด ๋ ๊น์?
๊ตผ๋ฐ์์ Tilemap.WorldToCell(transform.position)์ ํธ์ถํ๋ฉด ์์ ์ด ์์นํ ํ์ผ์ ์์น๊ฐ Vector3Int๋ก ๋์ด. ์ด๊ฒ cellPosition์. ์ผ์ชฝ์ ๋์ด ํ์ผ๋งต ์ค์ ์ ์ด์ผํ๋๋์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ์ผ๋ฐ์ ์ผ๋ก๋ x-1์. ๊ทธ๋ฌ๋ฉด Tilemap.WorldToCell(transform.position) + new Vector3Int(-1, 0, 0) ์ด๊ฐ์ด ์์ ์ ์ข์ธก ํ์ผ์. ์ด ๊ฐ์ foward1, ๊ทธ ์ํ์ผ์ foward2๋ผ ํ๊ฒ ์. if (Tilemap.GetTile(foward1) != null && Tilemap.GetTile(foward2) == null) ์ผ ๊ฒฝ์ฐ ์ ํ ์ด๋ฐ์์
์ด๋์ ๋ ๋ ธ๋ ฅ์ค์ธ๋ฐ ์ฒ์์ int forward = tilemap.WorldToCell(transform.position); ์ด๋ ๊ฒ ์ธํธ๊ฐ์ ๋ณ์๋ก ์ ์ฅ ์์ผ์ค์ผ ํ๋์? using unityengine tilemaps ๋ ํด์คฌ๊ณ Public Tilemap tilemaps ๋ ํด์คฌ๋๋ฐ ๋ค ์ค๋ฅ๊ฐ ์๋ค๊ณ ๋์์.
()์ฌ์ด transform, position ์ด ์ ํ์ด ๋ญ์ง ๋ชจ๋ฅด๊ฒ ์ด์
๊ธฐ์ด ๋ถ๋ถ์ ์ด์ฌํ ๊ณต๋ถ ํ๋ผ๊ณ ๋ฐ์ ํด์ค๋ง์ด ์์, ์๋ฌ๊ฐ ๋จ๋ฉด ์๋ฌ๋ฌธ์ ์ฝ์ผ์ ์์ ์ ์๋ฌ๋จ๋์ ๋ค ์ ํ์์
์ ์๋ฌด์ชผ๋ก ์ด๋ณด๋ฅผ ์ํด์ ์ด์ฌํ ๊ฐ๋ฅด์ณ์ฃผ์๊ณ ์ฐธ ๊ฐ์ฌํฉ๋๋ค. ๊ฑด์นํ์ธ์
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ํฌ๋ฌผ์ ์ผ๋ก ๋ ๋ฆฌ๋๊ฑด ์ด๋ป๊ฒ ํด์ผ ํ๋์? ๊ทธ๋ฆฌ๊ตฌ ๋ ์ด์บ์คํธ ๋์ ์ ํธ๋ฆฌ๊ฑฐ๋ก ๋งํ์ ๊ฑฐ ํด๋ ๋๋์?
AI ํฑ๋ง๋ค ์ ํ ์กฐ๊ฑด ๊ฒ์ฌํ๋ฉด ๋์ง ์์?
์ด ๋๊ธ์ ๊ฒ์๋ฌผ ์์ฑ์๊ฐ ์ญ์ ํ์์ต๋๋ค.
๊ทธ๋ผ ํธ๋ฆฌ๊ฑฐ์ํฐ๋ง๊ณ ๋ค๋ฅธ๊ฑธ ์จ์ผํ ๊น์?