본문 바로가기

유니티/Hunting게임[2D]

(8)
2D 미니게임 만들기 연습 7 ] 추가 설정 사항(파괴 애니메이션, 버그 수정) 지난 포스팅에서는 스테이지 관리와 최대 총알 개수를 설정하였으며, 총알 개수를 나타 내 주는 UI를 세팅하였다. 이제는 타겟이 파괴될 때 애니메이션 효과를 추가 해 주도록 하자. Aseprite를 통하여 파괴되는 애니메이션을 추가 해 주도록 하자 이것도 지난 포스팅에서 Sheet를 추출 한 것 처럼 Sprite Sheet의 형태로 추출 해 준다. 파괴되는 모습은 위와 같다. 유니티에 Sheet를 추가한 뒤, Slice를 해 준다. 그리고 애니메이션을 추가 해 주면 다음과 같다. 그러면 위 사진과 같이 애니메이션 화면이 나오게 될 것이다. 애니메이션을 해당 타겟에 추가 해 주고, 자연스러운 모습이 나오게 프레임을 삭제 해 준다. 그리고 애니메이터를 열어 아래 사진과 같이 추가 해 준 다음, Trigger를..
2D 미니게임 만들기 연습 6 ] 스테이지 관리 + 총알 개수 제한 지난 포스팅에서는 스코어 관리까지 다루어 보았다. 이제는 자동으로 타겟들이 생성되어 해당 타겟들을 다 없애면 클리어가 뜨게 하는 스테이지 진행 로직(?)을 만들어 볼까 한다. 사실 거창하게 말할 것 없이 그냥 스테이지 시작을 알려 주고 물체들을 소환 한 다음, 물체들을 다 제거하면 클리어 해 주는 매니저 코드를 만드는 것이라 생각하면 된다. 스테이지의 난이도를 결정하는 것은 타겟의 속도 뿐 아니라 환경이 빡세지는 것, 즉 총알 개수 제한량의 조절이라고 생각한다. 갑자기 왜 이런 말을 하게 되냐면, 스테이지 관련 코드를 추가하면서 총알 개수 제한 관련 코드도 추가 해 줄 예정이기 때문이다. 우선 StageManager.cs이다. Manager 오브젝트에 추가 해 주어 전체적인 매니징을 담당해 준다. usi..
2D 미니게임 만들기 연습 5 ] 스코어 관리 설정 지난 포스팅에서는 타겟의 도트 디자인을 하게 되었다. 그런데 게임에 맞춰야 하는 것만 들어 가 있는 것은 너무 재미가 없을 것이다. 이에, 맞추지 말아야 할 것들도 추가 해 보도록 해 보자. - 폭탄 디자인 원형의 물체에 해골을 그려 넣음으로써 딱 봐도 위험 해 보이는 것임을 직감할 수 있게 하였다. 이 곳에는 별개의 애니메이션 효과를 부여하지 않았다. 이것도 export 해 주어 Unity에 넣어 주도록 해 보자. - 스코어 보드 관리 이제 기본적인 모양은 얼추 만들어졌다. 이제 타겟들의 종류도 여러 개가 되었으니(맞춰야 하는 타겟, 맞추지 말아야 하는 타겟) 이에 맞게 타겟에 대한 구분 및 스코어 관리를 해 보도록 하자 우선 스코어가 더해지는 과정은 아래 그림과 같이 된다. Target을 맞추게 되면..
2D 미니게임 연습 4 ] 물체 도트 디자인 지난 포스팅에서는 물체의 랜덤 움직임에 대한 것 까지 구현하였다. 이제 물체 디자인을 해 주도록 하겠다. 물체에 대한 디자인은 Aseprite를 통하여 해 주도록 하겠다. 간단하게 맞춰야 할 대상을 디자인 해 준다. 컨셉은 싹이 난 공(?)인데 싹을 돌려 가면서 하늘에 떠 있다는 컨셉을 가져왔다. 유니티에서 사용할 수 있게 Sprite Sheet의 형태로 추출 해 준다. 애니메이션은 위와 같이 되게 된다. 이제 Sprite Sheet를 Unity에 넣어 주도록 해 보자. Sprite Sheet에서는 대상의 한 상태만 있는 것이 아니라 연속적인 상태가 들어 있기 때문에 Inspector에서 SpriteMode를 Multiple로 바꾸어 준다. 그 다음, 도트 파일이기에 Filter를 적용하지 않아야 본래 ..
2D 미니게임 만들기 연습 3 ] 물체에 움직임 부여하기 지난 포스팅까지는 물체를 클릭하게 되면 반응하게끔 만들어 보았다. 이제 해당 물체에 움직임을 부여 해 보도록 하겠다. 우선 RigidBody2D - BodyType에서 Kinematic을 Dynamic으로 바꾸어 주도록 하겠다. 이렇게 하면 물체가 다시 중력의 영향을 받게 된다. 여기서 처음에는 Spawn()함수를 만들어서 해당 물체가 생성될 때 그 물체에 AddForce를 주어서 중력과 함께 움직임을 주게 되었다. 그렇게 되면 아래 움짤과 같이 된다. 코드는 아래와 같다. public void SpawnTarget() { UnityEngine.Random.InitState(DateTime.Now.Millisecond); RandomFloatX = UnityEngine.Random.Range(-8.2f,..
2D 미니게임 만들기 연습 2 ] 클릭시 반응하는 물체 만들기 앞서 마우스 커서를 새로 만들었다. 이제 마우스로 클릭했을 때, 반응하는 물체들을 만들어 보도록 하자 1. 대상 클릭 시 반응하는 물체 생성 우선 Circle을 만들어 준다. 오른쪽 Inspector에 Rigidbody2D와 Circle Collider2D 컴포넌트를 추가 해 주고, 테스트를 위해 중력의 영향을 받지 않게 설정 해 준다. (RigidBody2D - Body Type - Kinematic 으로 설정) 그리고 우리는 모든 물체가 마우스 클릭 시 반응을 하게 만들 것이 아니고, 특정 물체를 클릭했을 때만 반응이 와야 하기에 레이어를 하나 생성 해 준다. 11번 레이어에 Touchable이라는 이름의 레이어를 생성 해 준다. 그리고 1번 포스팅에서 적어 놓았던 MousePointer.cs 코드에..