2014. 11. 3.

유니티에서 캐릭터의 Rigidbody rotation 고정하기

게임을 만들다보면, 캐릭터가 넘어지는걸 방지해야할 경우가 있습니다. 넘어진다는건 오브젝트의 Rotation 값이 변한다는걸 의미하는데, 이 Rotation 값만 변하지 않도록 고정시켜주면, 캐릭터가 더 이상 넘어지지 않을 것입니다. 유니티 3D에서는 Rigidbody를 고정하기 위해서 Freeze Rotation 속성을 이용합니다. Rigidbody...

2014. 10. 26.

Console 에서 Android KeyStore 생성하기

안드로이드 앱(게임)을 만들고, 배포하기 위해서는 KeyStore를 생성해야 합니다. KeyStore는 이 앱의 배포자임을 증명하는 서명 파일입니다. 처음 등록할때 사용한 KeyStore는 반드시 백업을 해두어야 하며, 이 KeyStore를 분실하게 되면, 더 이상 해당 앱의 배포자를 증명할 수 없음으로 앱 업데이트가 불가능한 상황에 이를 수 있습니다. 보통...

2014. 10. 13.

Gameobject.Find() 로 Inactive Object를 찾는 방법

유니티에서 Gameobject.Find(string name) 함수를 사용하면, 해당 name과 일치하는 오브젝트를 찾아줍니다. 무척 편리한 기능이지만, 활성화된 오브젝트만 찾아준다는 단점이 있습니다. 물론, 비활성화된 오브젝트까지 전부 검색하기엔 속도가 느려지기에 이런 기능이 적합하지만, 때로는 비활성화된 오브젝트를 포함하여 검색해야할 경우도 종종 나오게...

2014. 10. 5.

유니티 Raycast() 란 무엇인가?

Raycast는 직역하면, 광선을 쏜다라는 뜻입니다. Raycast가 필요한 상황을 3D 탱크 게임을 예로 들어 설명하겠습니다.  3D 탱크 게임을 만들기 위해 맵을 만들고, 중간 중간 벽들을 세워 놓았습니다. 그리고, 플레이어 탱크와 적 탱크를 생성하였습니다. 이제 적 탱크의 인공지능을 만들어야 합니다. 우리가 원하는건 적 탱크가 플레이어 탱크가...

유니티에서 Auto Destroy Particle System 제작하기

유니티의 파티클은 화려하고 사용하기 쉬운 훌륭한 시스템이지만, 기본적으로 파티클이 끝나도 오브젝트가 여전히 게임상에 남아있어, 파티클이 끝나면 오브젝트를 지워주는 작업을 해줘야합니다. 화려한 파티클! 하지만, Destroy를 직접 해주지 않으면, 파티클 LifeTime이 끝나도 오브젝트가 계속 남아있다 유니티에서 제공하는 IsAlive 함수는, 파티클이...