2. 설치와 첫 5분

패키지를 임포트하고 60초 Motion Lab 데모를 실행한 뒤, 모든 것이 작동함을 확인해 주는 콘솔 한 줄을 읽습니다.

2.1 패키지 임포트

CGS는 다른 Asset Store 패키지와 똑같이 설치합니다:

  1. Unity 6.3 LTS 프로젝트를 엽니다(새로 만들어도 됩니다 — 어떤 템플릿이든 상관없습니다).
  2. Window > Package Manager를 엽니다.
  3. 왼쪽 상단 드롭다운에서 My Assets를 선택합니다.
  4. 목록에서 Common Game System을 찾아 Download를 클릭한 뒤 Import를 클릭합니다.
  5. 임포트 대화상자가 나타나면 모든 항목을 선택된 상태로 두고 Import를 클릭합니다.

팁 — 임포트 대화상자에서는 모든 항목을 선택된 상태로 두세요. 첫 임포트에서 폴더 선택을 해제하면 프레임워크에 필요한 부분이 빠질 수 있습니다. 샘플이나 문서는 프로젝트 안의 평범한 파일이므로 나중에 언제든 삭제할 수 있습니다.

Unity가 파일을 복사하고 몇 초간 컴파일합니다. 컴파일이 끝나면 CGS Welcome 창이 저절로 열립니다. 이 창이 여러분의 베이스캠프입니다. 3장에서 자세히 다룹니다.

2.2 무엇을 기대해야 하나: 씬이 아니라 코드

임포트 후 Project 창에는 대부분 C# 스크립트와 문서가 보일 것입니다. 정상입니다. CGS는 코드 프레임워크입니다 — 그 가치는 끌어다 놓을 프리팹이 아니라, Play를 누를 때와 스크립트를 쓸 때 나타납니다.

바로 눈에 띄는, 알아 둘 만한 것이 두 가지 있습니다:

  • 데모 씬 하나. Assets/CommonGameSystem.Core/Demo/MotionLab.unity — 곧 열어 볼 실행형 쇼케이스입니다.
  • 문서 폴더. Assets/CommonGameSystem.Core/Documentation/ — 이 매뉴얼의 PDF와, Modules/ 아래 서비스별 레퍼런스 페이지.

그 밖의 모든 것 — 샘플, 테스트 — 은 Welcome 창에서 요청하기 전까지 숨겨져 있습니다. 프로젝트는 깨끗하게 유지됩니다.

2.3 60초 데모

코드를 쓰기 전에 프레임워크가 도는 모습부터 보세요. 1분 정도면 됩니다:

  1. 임포트의 컴파일이 끝나기를 기다립니다. Welcome 창이 저절로 열립니다.
  2. Welcome 창 상단 섹션 Try the demo — 60 seconds에서 Open Demo Scene을 클릭합니다. (Project 창에서 MotionLab.unity를 더블클릭해도 됩니다.)
  3. Play를 누릅니다. 설정도, 프리팹도, 구성도 필요 없습니다 — 씬은 임포트된 그대로 동작합니다.
  4. 이징 갤러리가 움직이는 것을 지켜본 뒤 나머지 컨트롤과 상호작용해 보세요(아래에 설명).
  5. Time Scale 슬라이더를 0까지 끌어 보세요. 게임플레이 애니메이션은 얼어붙지만 — 작은 UI 시계 스피너는 계속 돕니다.
  6. Console 창을 보세요. Play 세션 상단 근처에 이 줄이 있습니다:
bootstrap complete (v2.1.0, 23 services)

부트 라인이 강조된 Console 창

6단계: 부트 라인이 강조된 Console 창. 이 한 줄의 메시지가 씬이 실행되기 전에 23개 서비스가 모두 시작되었음을 확인해 줍니다.

설치 이야기는 이 콘솔 한 줄이 전부입니다. 컴포넌트 하나 추가하지 않았는데도 23개 서비스 전부가 첫 프레임 이전에 자동으로 스스로 등록되었습니다. CGS를 쓰는 모든 프로젝트가 같은 방식으로 시작됩니다.

Demo 폴더가 펼쳐지고 MotionLab.unity에 동그라미가 표시된 Project 창

2단계의 다른 방법: Demo 폴더가 펼쳐지고 MotionLab.unity에 동그라미가 표시된 Project 창 — CGS가 눈에 띄는 곳에 두는 유일한 씬입니다.

2.4 Motion Lab이 보여주는 것

Motion Lab은 그 자체가 목적인 기술 데모가 아닙니다. 화면의 각 요소는 여러분의 게임에서 쓰게 될 서비스 하나씩을 보여줍니다:

화면 요소보여주는 것
이징 갤러리트윈 서비스(ITweenService). 각 타일이 같은 움직임을 서로 다른 이징 커브로 애니메이션하므로, 이름이 아니라 눈으로 커브를 고를 수 있습니다.
Time Scale 슬라이더 + UI 시계타임 서비스(ITimeService). 게임플레이와 UI가 별도의 클럭에서 돌아갑니다. 슬라이더는 게임플레이 클럭을 느리게 하거나 멈추고, 시계 스피너는 UI 클럭에서 돌기 때문에 결코 멈추지 않습니다. 애니메이션이 살아 있는 일시정지 메뉴를 만드는 방법이 이것입니다.
트윈 시퀀스 쇼케이스트윈 시퀀스 서비스(ITweenSequenceService). 여러 트윈이 하나의 타임라인으로 연결됩니다 — 순서대로 실행되는 단계와 병렬로 실행되는 단계.
스케줄러 타이머스케줄러(IScheduler). 반복 타이머와 일회성 지연으로 구동되는 카운터가 예약된 순서대로 발화합니다.

Time Scale 슬라이더와 UI 시계가 표시된 Play 모드의 Motion Lab

4–5단계: Play 모드의 Motion Lab. 콜아웃은 멈춰 있는 Time Scale 슬라이더와 여전히 돌아가는 UI 시계를 가리키며, 이징 갤러리(위)와 시퀀스·타이머 영역(왼쪽 아래)이 화면의 나머지를 구성합니다.

다 보았으면 Play 모드를 멈추세요. 이제 트위닝, 클럭별 시간 제어, 시퀀싱, 타이머를 보았습니다 — 4장에서 코드로 호출하게 될 서비스 중 네 가지입니다.

2.5 문제 해결: "Welcome 창이 열리지 않았어요"

Welcome 창은 패키지 버전마다 한 번 자동으로 열립니다. 닫았거나 아예 나타나지 않았다면(일부 에디터 레이아웃은 임포트 중 팝업을 억제합니다) 수동으로 여세요. 아래 두 메뉴 경로 모두 동작합니다:

  • Tools > Common Game System > Welcome
  • Window > Common Game System > Welcome

데모만 필요하다면 창을 완전히 건너뛰어도 됩니다: 씬은 Assets/CommonGameSystem.Core/Demo/MotionLab.unity에 있습니다. 샘플과 테스트를 위해서는 창을 다시 여세요 — 둘 다 원클릭으로 해결되는 홈입니다(3장).


다음: 3. Welcome 창과 샘플