728x90

이 글은 인프런 [따라하면서 배우는 고박사의 유니티 기초] 강의를 수강하고 정리한 글입니다.

 

[지금 무료] 따라하면서 배우는 고박사의 유니티 기초 | 고박사 - 인프런

고박사 | 유니티로 게임을 개발하고 싶은 초보자를 대상으로 하며, 유니티 설치부터 2D/3D 게임 개발에 필요한 기초 지식까지 자세하게 설명합니다. (강의에 사용되는 모든 리소스는 영상 상단의

www.inflearn.com


2D 확장 기능 : 2D-extras 개요

Tilemap 확장 기능이 들어있는 Extras는 2D 게임 개발에 유용한 스크립트 모음으로 유니티 내부가 아닌 깃허브에서 검색하여 압축파일을 다운받아서 압축을 푼다.

 

GitHub - Unity-Technologies/2d-extras: Fun 2D Stuff that we'd like to share!

Fun 2D Stuff that we'd like to share! Contribute to Unity-Technologies/2d-extras development by creating an account on GitHub.

github.com

아래의 README에서는 2D-extras에 타일맵, 브러쉬, 추가적인 타일들에 대한 정보가 기제되어 있다. 

실습자의 유니티 버전에서는 해당 파일이 컴파일 오류가 발생했기 때문에 다른 방법으로 2D-extras 설치를 진행하였다. 강의에서 진행하는 유니티 버전에서는 2D-extras가 공식 지원을 하지 않아 추가 설치를 해야했다면 이제는 공식지원이 된다.

 

Edit > Project Setting 에 들어가면 Package Manager을 선택하여 enable Pro-release Packages 를 선택한다.

 

이후 windows > project manager을 선택하면 2D Tilemap Extras를 확인할 수 있고, 설치가 되어 있지 않다면 설치 후 실습을 진행하도록 하겠다. 

 

게임월드에서는 아이템처럼 상호작용을 통해 게임월드에서 사라지거나 플레이어에게의 기능 제공 등과 같이 게임 오브젝트의 배치도 필요하다. 충돌하면 사라지는 스크립트를 작성하고 게임화면에 오브젝트를 하나 생성한다.

using UnityEngine; 

pulic class ItemCollisionCheck : MonoBehaviour
{
	private void OnTriggerEnter2D(Collider2D collision)
    {
    	Destroy(gameObject);
    }
}

생성한 오브젝트에 circle collider 2D와 스크립트를 적용한다. is trigger도 체크해준다. 

item_coin 오브젝트를 assets으로 드래그해 prefab으로 생성해준다. 이때 prefab을 드래그하여 게임 오브젝트를 생성하고 배치할 수도 있지만, 많은 오브젝트를 작업할 경우에 비효율적이다. 이때 사용하는 기능이 prefab brush 이다.


Brushes - Prefab Brush

​prefeb brush는 prefeb을 Tile Asset과 같이 Tilemap 오브젝트에 쉽게 배치할 수 있는 기능으로 project view > "+" > brush > prefab brush 에서 확인할 수 있다고 하였지만 현재 유니티 2022.3.22f1 버전에서는 제거된 기능이여서 실습을 할 수 없었다.

 

Prefab brush는 prefab 하나를 등록해서 사용하는 것으로 prefab에 하나의 prefab을 등록하면 tilemap palette 에서 브러쉬를 선택할 수 있게 된다. 

이렇게 생성된 prefab brush를 이용해서 페인트 툴로 prefab을 화면에 편하게 배치할 수 있으며, 배치된 prefab들을 타일맵의 자식으로 생성된다. 

Prefab Random brush는 brush에 여러 개의 prefab을 등록시킬 수 있는데 등록된 prefab 중 임의의 prefab이 배치된다. 

 

coin prefab에 오브젝트가 부딪치면 코인이 사라지는 것을 확인할 수 있다.


Tiles - Animated Tile

Animated Tile은 배치된 tile이 애니메이션을 재생하도록하는 Tile Asset 으로 Project View > “+” > 2D > Tiles >  Animated Tile 을 이용해 생성할 수 있다.

 

입력하는 숫자만큼 애니메이션 되는 이미지를 등록할 수 있다. 4개의 이미지를 등록하였다. 이후 window > 2D > tile palette 에 들어가서 생성한 animated tile asset을 tile palette에 등록한다.

영역들이 바뀌는 것을 확인할 수 있다.


Tiles - Pipeline Tile

동일한 Pipeline Tile을 배치했을 때 이웃한 타일의 개수에 따라 타일의 이미지가 바뀌는 Tile Asset이다.

Project View > “+” > Tiles > Pipeline Tile 으로 생성할 수 있으며, Pipeline Tile에는 5개의 이미지를 등록할 수 있다.

 

주변에 배치된 개수에 따라서 설정한 이미지대로 바뀌는 것을 확인할 수 있다. 


Tiles - Random Tile

등록한 이미지 중에 임의의 이미지가 나오게 하는 Tile Asset이다. Project View > “+” > Tiles > Random Tile 로 타일을 생성하게 된다.

어떤 이미지가 배치될 지 알 수 없다.


Tiles - Terrain Tile

Pipeline Tile과 비슷하지만 세부적으로 설정이 가능한 Tile Asset이다. Project View > “+” > 2D >  Tiles > Terrain Tile 로 생성하면 inspector view에서 확인할 수 있듯이, 다양한 케이스에 대해서 설정할 수 있는 옵션들을 볼 수 있다. 

주변 타일들의 상황에 따라서 terrain asset이 설정되는 것을 확인할 수 있다. 


Tiles - Rule Tile

본인이 원하는 조건을 직접 설정할 수 있는 Tile Asset으로 앞 Tile들의 통합 버전과 같다.

Project View > “+” > 2D > Tiles > Rule Tile 를 생성한다. 여기서 sprite뿐 아니라 game object를 등록할 수도 있으며, Tiling rules에 원하는 조건을 추가하여 만들 수 있다.

주변 오브젝트 배치에 따른 이미지를 등록하거나 게임 오브젝트를 등록할 수 있으며, output에 있는 정보를 이용해서 random이나 animation 타입으로 설정할 수 있다.

X는 주변에 오브젝트가 하나도 없을 때를 뜻하기 때문에 주변에 오브젝트가 없을 때, fourside 이미지를 설정한다. 이외에 여러 가지 룰을 추가해서 rule tile을 tile palette에 등록한다. 

 

 

실습을 진행하면서 unity 2022.3.22f1 버전에서는 prefab brush, pipeline tiles, random tiles, terrian tiles 를 유니티에서 더 이상 지원하지 않게 되어서 실습을 하지 못했던 점이 아쉽다..

+ Recent posts