이전에 뜯어봤던 프로젝트에서 그때는 단순히 장애물만을 추가해 봤었는데,
오늘은 아래 사진처럼 일정한 간격이 있는 상태로 장애물을 연속으로 그려지게 만들어 봤다.
기존에 TrackModifier 클래스에는 frequency변수가 있는데 이 변수가 현재 장애물이나, 기타 트랙에 나오는 모든 오브젝트들의 간격을 책임지고 있다.
나는 여기서 장애물이 이 일정한 간격을 유지한 채로 연속으로 나오게 하는 것을 구현하고 싶었다.
처음에는 코드에서 건드리지 말고 유니티에서 TrackObject를 추가해서 frequency로 차이를 둬서 연속으로 보이는 느낌이 나게 해 볼까 하다가 은근히 노가다일 것 같단 생각을 했다.
예전에는 귀찮아도 코드로 짜는 게 더 싫어서 노가다를 해봤겠지만 요즘엔 안되면 말지란 생각으로 그냥 코드를 건드려본다. 그런 걸 보면 예전보다는 코드랑 사이가 더 좋아졌는지도?
일단 내가 처음 생각했던 건 그냥 frequency 변수를 하나 더 추가하자였다.
연속으로 나오게 하고 싶은 장애물의 개수를 지정해 줄 변수로 groupSize로 정해주고, 그룹 내 장애물 간격을 정해줄 변수로 innerFrequency를 만들어 줬다.
생각보다 쉽게 빠르게 작업이 완료되었다. 아래 코드가 내가 만들어 둔 전체 함수 코드이다.
나중에 또 다른 곳에서 재사용하게 될 수도 있으니 groupSize, innerFrequency 변수를 매개변수로 빼서 관리해줄까도 싶었지만 필요하면 그때 바꿔주기로 하고, 지금은 매개변수로 너무 많은 애들이 들어가 있어서 추가해 주면 가독성이 너무 떨어질 것 같아 그냥 저대로 두었다.
m.label에 따라 트랙에 연속으로 그룹지게 나오게 하고 싶은 장애물이 있을 때 아래 AssignTrackGroupPosition함수를 불러와 사용해 주면 된다.
'유니티' 카테고리의 다른 글
유니티 에셋 ) 유니티 6으로 만들어진 Maze Rotator 패키지를 열어봤다 마주한 오류들. (0) | 2025.04.08 |
---|---|
유니티 ) Text Mesh Pro를 사용해 그라데이션을 줘보자.(Color Gradient Presets) (0) | 2025.02.12 |
유니티 ) 카메라 stack을 사용해보자. (0) | 2025.01.23 |
유니티 복권 긁기 기록용 스크립트. 수정중 - 박스 콜라이더 스크립트 (0) | 2024.12.18 |
유니티 ) 긁는 복권 게임을 만들어 보자.(scratch game) (2) | 2024.12.13 |