์์ง ๊ธฐ์ด๊ฐ ์ฌ๋๋ก ์์กํ์ ๋๋๊ทธ๋ฅผ ๊ตฌํ ํด์ฃผ๋ ค๋๊ฐ 2D UGUI์์ UI๋ฅผ ๋๋๊ทธ ํ๋ ค๊ณ ํ๋๋ฐ.
๋ง์ฐ์ค ํฌ์ง์ ์ ScreenToWorldPoint ๋ก ๋ฐ๊พผ ํ ๊ทธ๊ฒ์ transform.position = dragPos ํด์ ๋ฃ์ผ๋ฉด ์ด๋์ ์๋๊ฑฐ๋ .
๊ทธ๋ฐ๋ฐ ๊ฐ์ด๋ฐ์ฏค์์ ๋๋๊ทธํ๋ฉด ๋ฌธ์ ๊ฐ ์๋๋ฐ UI์ ์๋ถ๋ถ์ด๋ ์๋ ๋ฑ ๋ค๋ฅธ๊ณณ๋ถํฐ ๋๋๊ทธ๋ฅผ ์์ํ๋ฉด ์ต์ปค๊ฐ ๊ฐ์ด๋ฐ๋ค ๋ณด๋๊ฐ
๋๋๊ทธ ์์์ง์ ์ผ๋ก UI๊ฐ ์๊ฐ์ด๋ํ๋ฉด์ ๊ฑฐ๊ธฐ์๋ถํฐ ๋๋๊ทธ๊ฐ ์์๋๋๋ผ๊ณ .
๊ทธ๋์ ์ด๋๋ฅผ ํด๋ฆญํด์ ๋๋๊ทธ ํ๋ ๊ทธ ์ง์ ๋ถํฐ ์์ฐ์ค๋ฝ๊ฒ ๋๋๊ทธ๋ฅผ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊ฐ?ย
์ด์ ํฑ ์์น๋ ์ฐจ์ด๊ฐ ๊ตฌํด์ ์ด๋๋ ๋งํผ๋ง ๋ํด์ฃผ๋ฉด ๋์ง
์๋๋ฉด ๋ง์ฐ์ค๋ค์ด์์ 'ASDF = ์ต์ด ๋ง์ฐ์ค๋ค์ด ์์น - transform.position' ๊ณ์ฐํด๋๊ณ ์ด๋ํ ๋ 'transform.position = dragPos - ASDF' ํด๋๊ฑฐ๋
ํ๋ฒ ์๋ํด๋ณผ๊ฒ ๋ต๋ณ ๊ณ ๋ง์
์ ๊ทธ๋ฐ๋ฐ transform.position ์ ๋ก๊ทธ๋ก ์ฐ์ด๋ณด๋ฉด 100 200 ์ด๋ฐ ๊ฐ์ด ๋์ค๋๋ฐ screentoworldpointํ ๊ฐ์ 1, 5 ์ด๋ฐ ํ์๋ฆฌ ์์น๊ฐ ๋์ค๋๋ฐ ์ ๊ทธ๋ฐ์ง ์? ์๋ ํฌ์ง์ ์ด๋ฉด ์๋ ํฌ์ง์ ์ด๋ ๊ฐ์์ผํ๋๋ฐ ์์น๊ฐ ์ ๋ ๊ฒ ๋ค๋ฅด๊ฒ ๋์ค๋๋ฐ ๋ ํฌ์ง์ ์ ๋ฃ์ด์ฃผ๋ฉด ์ ์์ ์ผ๋ก ๋๋ค. ์ธํฐ๋ท์ ๊ฒ์ํด๋ณด๋๊ฐ screentoworldpoint ํ ๋ ๋ง์ฐ์ค ์์น๋ฅผ ๊ทธ๋ฅ moustPosition ํ๋ฉด ์๋๊ณ z ์ถ์ ์นด๋ฉ๋ผ z์ถ ์ ๋ฃ์ด์ผํ๋ค๋๋ฐ ์ง๊ธ ๊ทธ๋ ๊ฒ ํด์ ScreentoWorlPoint(moustPosition.x, mousePosition.y, 10f) ์ด๋ ๊ฒ ๋์ด์๋๋ฐ ์ด๋ฐ ๊ฑฐ๋๋ฉ ์ํฅ์ ๋ฏธ์น๋๊ฑด๊ฐ?