유니티

유니티 2D 맵 -2

조강학 2025. 2. 2. 04:35

..? 다시 들어가니 타일이 생성되어 있다.

이게 무슨.

 

조금 기다리면 됐었는데 못참았나.?

 

다시 tiled로 타일 맵 생성해보니 정상적으로 타일이 생성되는 것을 확인할 수 있었다.

오예

아무튼 돼서 다행이다..

 

그런데 이제 생성된 타일이 캐릭터와 오브젝트를 가려버린다  .. 하

그래서 배경의 레이어를 뒤쪽에 둬 물체가 가려지지 않도록 했다.

 

 

sorting 레이어가 위쪽에 위치할수록 뒤에 놓인 것처럼 보이게 된다.  그래서 레이어를 생성하고 타일의 sorting 레이어를 background로 설정해 배경이 뒤에 있게 해줬다.

 

그대로는 좀 심심해 보여서 가로등도 뒤에 놓아줬다.

가로등하고 주변 불빛 스프라이트 이미지를 따로 생성해서 가져왔고, 불빛 삽입할 때 투명도를 조절해서 빛처럼 보일 수 있도록 했다.

 

투명도는 인스펙터 색상란에서 조절할 수 있다. 

 

아무래도 불빛이 그냥 있기보다는 좀 깜빡거리는 모션이 있으면 좋을 것 같다. 

근데 가로등 3개의 불빛이 모두 동시에 깜빡이는 것보단 화면에 보이는 3개의 가로등 중 한개만 불규칙적으로 깜빡거리면 더 좋을 것 같다!!

 

스크립트를 하나 생성한다.

불빛이 깝빡거려야해서 sleep 같은 기능을 찾다가 

Coroutine를 쓰면 된다는걸 알게됐다.


Coroutine

코루틴은 유니티에서 시간을 기다리며 실행하는 함수로 특정 조건 yield return 에 따라 일정 시간동안 멈췄다 실행된다.

yield return new WaitForSeconds(num); 으로 시간 딜레이를 줄 수 있다

System.Collections 네임스페이스 안에 정의되어 있다

 

ienumerator는 코루틴을 구현할 때 사용하는 인터페이스이다.

 

IEnumerator ExCoroutine() {

...

yield return new WaitForSeconds(1f); // 1초 동안 멈춤

...

}

 

인터페이스 작성해주고 

업데이트 함수 안에서 StartCoroutine( ExCoroutine());로 실행시킨다.

 

세개의 램프를 다른 타이밍에 깜빡이려고 num변수를 이용했는데,,

좀 더 불규칙적으로 하고 싶어 그냥 random 함수를 이용했다.

 

각 불빛 스프라이트와 연결시켜주고 num값도 준다.

 

 

이미지에는 변화를 보려고 시간 텀을 적게 줬는데 어차피 배경요소로만 쓸거라 시간 텀은 좀 더 늘려서 적용해줬다.

'유니티' 카테고리의 다른 글

유니티 2D 맵 -1  (2) 2025.01.31
유니티 2D 카메라 대상 추적  (0) 2025.01.30
유니티 2D 방해물  (0) 2025.01.26
유니티 2D 모션 반전  (0) 2025.01.24
유니티 2D 모션  (0) 2025.01.24