반응형

게임 개발/유니티(Unity) 5

[Unity] 2D 캐릭터 위치 변경

개요게임을 플레이 하다 보면 플레이어가 특정 지역에 도달했을 경우 혹은 도달 후에 특정 키를 통해 인터렉션 시 다른 맵으로 이동하는 로직이 존재한다.이는 특정 오브젝트 간 충돌 시 트리거를 발생시키는 Is Trigger 기능을 통해 구현할 수 있다. 예를 들어 Player에 물리 적용이 적용되어 있으며 충돌 반경을 정해놓은 상태에서충돌 반경 및 Is Trigger 기능이 활성화된 특정 오브젝트에 접근 시 이벤트를 발생시킬 수 있다. player가 특정 타일에 접근 시 player의 좌표를 특정 위치로 이동시키는 기능을 구현해 보자  준비2D 맵 상에서 특정 지점에 도달 시 player를 다음 레벨로 이동시키고, 이전 레벨로 이동하는 기능을 구현한다.  다음과 같은 레벨이 있을 때 이전 레벨에서 현재 레벨..

[Unity] 오브젝트 네이밍 자동화

개요유니티에서 오브젝트를 관리할 때 이전에 사용했던 오브젝트를 복제하여 재활용 하는일이 많다.예를 들어 유사한 구조로 이루어 진 레벨을 관리할 때 Level1 오브젝트를 복사하여 Level2 오브젝트로 만들어 사용하곤 한다.이럴 때 오브젝트를 복사하게 되면 Level1 (1) 이런 식으로 오브젝트가 복사된다.하지만 내부 child오브젝트들은 복사한 부모 오브젝트의 이름을 그대로 따라가게 된다.이런 특성은 간혹 혼란을 유발하곤 하여 보통은 child오브젝트의 이름도 변경해 주는 편이다. 하지만 Level오브젝트 내에 무수히 많은 child오브젝트가 존재한다면 어떻게 될까?매번 수동으로 오브젝트 이름을 변경해 주기가 귀찮고 시간이 많이 소요될 것이다.Unity Editor을 사용하여 이런 부분에 대한 자동화..

[Unity] 2D 타일 충돌 처리

개요충돌 처리를 통해 player가 특정 타일로 이동하지 못하게 구현할 수 있다.예를 들어 맵 밖으로 나가지 못하게 하거나, 물, 장애물들을 설정해 이동하지 못하게 하는 것이다.이는 타일을 Layer로 관리하여 플레이어가 특정 타일에 접근 시 이동이 불가능하게 구현하면 된다.따라서 타일맵에 충돌 관련 컴포넌트를 추가해 주어야 한다. player에 대한 충돌 처리는 이미 이전에 활성화 해 놓았으므로 타일맵에 대한 설정이 필요하다.캐릭터 충돌 처리 컴포넌트는 아래 발행글을 확인하자 [Unity] 캐릭터 이동개요유니티에서 2D 캐릭터를 상하좌우로 이동시키는 방법에 대해 알아보자캐릭터 스프라이트 배치Rigidbody 2D 추가 (물리 적용)Collider 2D 추가 (충돌 처리)캐릭터 이동 스크립트 작성위 순서..

[Unity] 2D 캐릭터 이동

개요유니티에서 2D 캐릭터를 상하좌우로 이동시키는 방법에 대해 알아보자캐릭터 스프라이트 배치Rigidbody 2D 추가 (물리 적용)Collider 2D 추가 (충돌 처리)캐릭터 이동 스크립트 작성위 순서대로 적용을 한다면 게임 씬 내에서 플레이어가 상하좌우로 이동할 수 있게 된다.  스프라이트 배치캐릭터 스프라이트를 씬에 드래그해 배치한다.Hierarchy에서 캐릭터 이름을 player로 변경한다.굳이 player가 아닌 다른 무언가로 변경하여도 상관이 없다.스프라이트를 배치해야 씬 내부에서 플레이어를 식별할 수 있게 된다.나는 우선 검정색 박스를 플레이어로 설정하였다.  Rigidbody 2DPlayer를 선택하고 Inspector에서 Add Component 클릭Rigidbody 2D 추가Gravi..

[Unity] 2D 타일맵 배치

개요유니티에서 스프라이트를 타일로 배치하려면 유니티의 타일맵(Tilemap) 시스템을 사용해야한다.타일맵은 2D 타일 기반 게임에서 지형, 건물, 물체 등을 쉽게 배치하고 관리할 수 있도록 도와준다.  타일맵 생성Hierarchy에서 우클릭 -> 2D Object -> Tilemap -> Rectangular 선택Grid라는 게임 오브젝트가 생성되고, 그 안에 Tilemap이 자동으로 추가된다. 각 Grid를 레벨로 나누었고, 3개의 타일맵을 생성한 모습이다.  타일 팔레트상단 메뉴에서 Window -> 2D -> Tile Palette 클릭새로운 창이 뜨면 + 버튼을 눌러 새로운 타일 팔레트를 생성이름: GroundTilePalette 또는 원하는 이름으로 설정저장 경로 선택타일 팔레트를 사용하면 각 ..

728x90
반응형