์ฐ์ ์ด๊ฒ ์ดํด๊ฐ ์๋๋ ์ด์ ๊ฐ PhysicsMaterial2D ํด๋์ค๊ฐ ๋ญํ๋๊ฑด์ง ๋ชฐ๋ผ์ ์ดํด๊ฐ ์๋จ..
๋ญ์ง๋ ์ข ์ค๋ช ํด์ฃผ๋ฉด ๊ณ ๋ง๊ณ ..
์ฐ์ ย
๋ค๋ฅธ๋ถ๋ถ์ ๋ค ์ดํด ๊ฐ๋๋ฐ,ย
FixedUpdate์ ์๋ ๋ถ๋ถ์..
//์ถฉ๋์ฒด ์ฌ์ง ์ป๊ธฐ.
PhysicsMaterial2D material = this.gameObject.GetComponent<CircleCollider2D>().sharedMaterial;
//ํ๋ ์ด์ด๊ฐ ์ง๋ฉด์ ์๊ณ ์ฌ์ ํ Jump Material์ด ํ์ฑํ ์ํ๋ผ๋ฉด
//์ ๊ฑฐํ๊ณ ์ถฉ๋์ฒด๋ฅผ ๋ฆฌ์ ํ๋ค.
if(isGrounded(๊ทธ๋ผ์ด๋ ์ฒดํฌ ๋ณ์) == true && material == this.jumpMaterial)
{
//์ถฉ๋์ฒด ์ป๊ธฐ
CircleCollider2D collision = this.gameObject.GetComponent<CircleCollider2D>();
//ํ๋ ์ด์ด์ ์ง์ ๋ Physics material ์ ๊ฑฐ
collision.sharedMaterial = null;
//์ถฉ๋์ฒด๋ฅผ ๋นํ์ฑํ ์ํค๊ณ ์ฆ์, ํ์ ์ด๊ธฐํํ๊ธฐ ์ํด ๋ค์ ํ์ฑํ ์ํจ๋ค.
collision.enabled =false;
collision.enabled = true;
}
//ํ๋ ์ด์ด๊ฐ ๊ณต์ค์ ์๊ณ , Jump Material์ด ๋นํ์ฑํ๋์ด ์๋ค๋ฉด,
//ํ์ฑํ ์ํค๊ณ ์ถฉ๋์ฒด๋ฅผ ๋ฆฌ์ ํ๋ค.
else if(isGrounded == false && this.gameObject.GetComponent<CircleCollider2D>().sharedMaterial == null)
{
//์ถฉ๋์ฒด ์ป๊ธฐ
CircleCollider2D collision = this.gameObject.GetComponent<CircleCollider2D>();
//Jump Material ์ง์ .
collision.sharedMaterial = this.jumpMaterial;
//์ถฉ๋์ฒด๋ฅผ ๋นํ์ฑํ ์ํค๊ณ ์ฆ์, ํ์ ์ด๊ธฐํ ํ๊ธฐ ์ํด ๋ค์ ํ์ฑํ
collision.enabled = false;
collision.enabled = ture;
}
}
์ฝ๋์ ์ด์จใด ์ฃผ์์ ์ด ์ฝ๋์ ๋ฌ๋ฆฐ ์ฃผ์์ธ๋ฐ ์ฃผ์์ ๋ด๋ ์ดํด๊ฐ ์๊ฐ์ ์ง๋ฌธ ๋จ๊ฒจ๋ด..
2D์ฉ ๋ฌผ๋ฆฌ์ฌ์ง PhysicsMaterial( ๋ง์ฐฐ๊ณ์๋ ํ๊ธฐ๋ ์ ๋ ๊ฐ ๋ฃ๋ ์ฉ๋ )
์๋ถ๋ง์ด ๋ง๊ณ ์ดํดํ๊ธฐ์ฝ๊ฒ ์๋ฅผ๋ค๋ฉด ํฑํฑ๋ณผ ๊ฐ์ ๋ฌผ๋ฆฌ์ฌ์ง์ ๊ตฌํํ physicalMaterial์ ๋ฃ์ ์ค๋ธ์ ํธ๋ ๋จ์ดํธ๋ฆฌ๋ฉด ํตํตํต ํ์ด์ค๋ฆ. ์ผ์๊ฐ์ ๋ฌผ๋ฆฌ์ฌ์ง์ ๊ตฌํํ๊ฑธ ๋ฃ๊ณ ๋ฐ๋ฉด ์ญ ๋ฏธ๋๋ฌ์ง๊ณ ๋ญ ๊ทธ๋ฐ๊ฑฐ์.
๊ตฌํ์ ์ด๋ป๊ฒ ํ๋๊ฑฐ? ์ฝ๋๋ก? ๊ทธ๋ผ ์์ ๊ป ๋ญ ์ด๋ค์์ผ๋ก ๋์ ํ๋ค๋๊ฑฐ์ผ? ๋ด๊ฐ ๋ณผ๋ ์์ผ๋ ์์ผ๋ ์ฐจ์ด ์์ด๋ณด์ด๋๋ฐ..
PhysicsMaterial์ ์ ํ์ ์ฌ์ฉํ๋๊ฒ๊ฐ์๋ฐ... ๋๋ ์์จ๋ณธ๊ฑฐ๋ผ ์ ์ด๊ฑด์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ถ์ธกํด๋ณด๋ฉด ์ ํํ์๋ ์ด๋์ ๋ถ๋ชํ๋ฉด ํ๊ฒจ๋๊ฐ๊ฑฐ๋ ๋ง์ฐฐ๋ ฅ์ผ๋ก ๋ถ์ด์์ด์ผ ๋๋ ์ํฉ์์ ์ธ ์ ์๊ฒ ๋ค. ์ด ์ฝ๋๋ก ๊ตฌํ๋๋ ๋์์ ์ ํํด์ ๊ณต์ค์ ์์๋๋ ๋ฌผ๋ฆฌ์ฌ์ง์ ๊ฐ์ง๊ณ ๋ ์ ๋ฟ์ผ๋ฉด ์์ ๋ ๋์์.
์ํ ๋ชจ๋๋ค ๊ฐ์ฌ๊ฐ์ฌ