수업 4: 새로운 적(Enemy)과의 만남

확인된 버전: 2018.2.1 - 난이도: 초급

수업 4에서는 적 캐릭터인 스피터(Spitter)와 촘퍼(Chomper)를 추가하고 물리치는 방법에 대해 알아봅니다.

이 수업을 성공적으로 완료하려면 적어도 1시간 정도는 할애해야 합니다. 진행하다가 막히는 부분이 있으면 Unity에서 관리하는 2D 게임 키트 포럼(2D Game Kit Forum)에서 답변을 찾고 지원을 받아보세요.

우선 스피터를 추가할 적당한 장소를 빌드해 보겠습니다. 나중에는 결국 스피터에게 상자를 밀어 죽일 겁니다(불쌍한 놈 T.T). 하지만 이 목표를 위해 다음과 같은 레벨을 구축하는 것입니다.

  • 아래 이미지에 표시된 대로 타일맵(Tilemap) 기능을 사용하여 영역을 빌드합니다. 이 영역에서 Ellen 높은 위치에 있게 되고, 스피터는 한 드롭(Drop) 아래에 있는 플랫폼에 위치합니다. 다음 그림과 같이 말이죠.

  • 레벨을 빌드한 후에는 Ellen을 드롭의 맨 위로 이동합니다. 팁: 씬(Scene)에서 임의의 항목을 빠르게 이동하려면 계층(Hierarchy)에서 항목을 선택한 다음 커서를 움직여 항목이 뷰 위에서 이동하게 한 다음 키보드에서 F를 누릅니다. Ellen을 찾고 난 후에 새로 고침이 필요하다면 그녀가 이동할 수 있도록 계층에서 Ellen을 선택한 다음 Ctrl(Windows) 또는 Cmd(Mac)를 누르고 카메라(Cameras)를 클릭합니다. 변환(Transform) 툴(파란색 정사각형) 또는 이동(Move) 툴(붉은 색 화살표)을 클릭한 채로 드래그하여 드롭 상단에 Ellen을 배치합니다.
  • 프로젝트 창에서 에셋(Assets) > 2DGameKit > 프리팹(Prefabs) > 적(Enemies)으로 이동하여 스피터를 추가합니다.
  • SpitterPrefab을 클릭한 채로 씬에 드래그하여 스피터가 아래 이미지에 표시된 대로 드롭 옆의 더 낮은 레벨에 있게 합니다.
  • 플레이(Play)눌러 스피터가 어떻게 질척거리는 침을 뱉어 공격하는지 확인하세요!
  • 플레이 모드에서 나간 다음 계층에서 SpitterPrefab을 선택합니다. 다음과 같이 스피터 주변에 표시되는 녹색 원이 나타납니다.

녹색 원은 스피터의 뷰 방향(View Direction), 뷰 시야각(View FOV)(Field of View), 뷰 거리(View Distance)를 나타내며, 아래 이미지에 나타난 대로 인스펙터(Inspector)적의 동작(Enemy Behavior) (스크립트) > 스캐닝 설정값(Scanning Settings)에서 찾아볼 수 있습니다.

  • 뷰 방향을 30으로 변경합니다.
  • 뷰 시야각을 182로 변경합니다.
  • 뷰 거리를 6으로 변경합니다.
오브젝트를 사용하여 데미지 입히기

이 섹션에서는 데미지(damage) 시스템에 대해 살펴보겠습니다. 이를 위해 스피터에 박스를 떨어뜨려 무찌르는 단계를 진행해 보겠습니다. 불쌍한 녀석 같으니라고!

  • 프로젝트> 프리팹 > 상호 작용 가능 항목(Interactables)에서 PushableBox를 찾아 아래와 같이 씬으로 드래그합니다.

PushableBox가 스피터에 데미지를 입히려면 활성화되어야 합니다.

  • 계층에서 PushableBox를 선택합니다.
  • 인스펙터에서 컴포넌트 추가(Add Component) 버튼(맨 하단에 있음)을 클릭한 다음 필드에 데미저(Damager)를 입력하여 데미저를 선택합니다.

참고: Damager 컴포넌트는 데미지를 입힐 수 있는 컴포넌트(Damageable Component)가 있는 임의의 게임 오브젝트(GameObject)에게 데미지를 입힐 수 있음을 나타냅니다. 이 시스템의 좀 더 자세한 내용은 컴포넌트 참고 문서(Components Documentation)에서 확인하세요.

다음과 같이 씬 뷰에 녹색 상자가 나타납니다. 이것은 콜라이더(Collider)를 말하며, 데미지를 가할 위치를 나타냅니다.

  • 콜라이더 박스 가장자리에 있는 녹색 점을 클릭한 채로 드래그하여 해당 영역이 푸시 가능한 상자를 포함할 수 있도록 설정합니다.

팁: 녹색 또는 빨간색 이동(Move) 툴 화살표가 콜라이더를 드래그하는 데 방해되는 경우 손(Hand) 툴(키보드 단축키: Q)을 선택하면 이동 툴 화살표가 사라집니다. 이제 콜라이더를 제대로 정리할 수 있습니다.

마지막으로 데미지가 올바른 게임 오브젝트에 가해지는지 확인해야 합니다. Unity 에디터에서는 오브젝트를 별도의 레이어로 구분하여 쉽게 찾고 분리할 수 있습니다.

  • 인스펙터에서 데미저 컴포넌트 "데미저(Damager (스크립트))"를 찾습니다. 공격 대상 레이어(Hittable Layers) 드롭다운에서 적(Enemy)을 선택합니다.

  • 플레이 모드를 시작하고 "D"를 사용하여 Ellen을 앞으로 나아가게 합니다. 이렇게 하면 상자를 스피터 방향으로 밀어 스피터가 죽습니다!
  • 씬을 저장하세요! 메뉴에서 파일(File) > 씬 저장(Save Scenes)을 선택하거나, Ctrl + S(Windows) 또는 Cmd + S(Mac)를 누르면 됩니다.

이제 두 번째 적을 추가해 보겠습니다.

  • 이전에서 작업한 대로 적을 추가할 장소를 빌드하고 Ellen을 씬에서 이동합니다.
  • 프로젝트 창에서 에셋 > 2DGameKit > 프리팹 > 적으로 이동합니다.
  • Chomper를 클릭한 상태에서 씬으로 드래그합니다.
  • 인스펙터 뷰의 적 동작(Enemy Behaviour) (스크립트)에서 속도(Speed)뷰(View) 설정값을 조정하여 주변을 어슬렁거리게 합니다. 플레이 모드에 있는 동안에는 F12 키를 눌러 무기를 사용할 수 있는 상태인지 확인하고 O 또는 K를 사용하여 공격할 수 있습니다.
  • 한 번 시도해보고 씬을 저장합니다.
  • 수업 4를 마치고 나면 페이지 하단에 있는 동영상을 확인해 보세요!

위의 씬에서 촘퍼는 선택된 상태입니다. 촘퍼가 Ellen를 향해 돌아서기 전까지는 공격하지 못하도록 뷰 시야각뷰 방향을 이미 조정해 놓았습니다.

Enemy Behaviour 컴포넌트에 대한 좀 더 자세한 내용은 컴포넌트 참고 문서(Components Documentation)에서 확인하세요.

지원되는 실시간 교육 동영상

수업 4: 적 추가하고 물리치기

참고: 수업 4에서 진행된 내용은 자동으로 1분 18초부터 시작해서 7분 24초에 끝납니다. 촘퍼를 추가하는 작업이 0초부터 1분 17초까지입니다. 다음 동영상 부분은 위의 텍스트 자료에서 다룬 내용을 보여 줍니다. 체력(Health) 픽업을 추가하는 방법을 배우고 싶다면 7분 25초부터 시작되는 영상을 시청하세요. 하지만 추가 정보일 뿐입니다!

수업 4를 마치셨나요?

홈페이지로 이동 수업 5로 진행