오브젝트 생성

Tutorial

Beginner

+10XP

30 mins

Unity Technologies

오브젝트 생성

장애물을 파괴할 수 있는 새 게임 오브젝트를 생성합니다.

튜토리얼 성과

이 튜토리얼에서 배울 내용은 다음과 같습니다.

  • 캡슐 콜라이더 2D(트리거)를 추가하여 오브젝트가 접촉하거나 교차하는 시점 추적
  • Bullet 속성 스크립트를 추가하여 포인트 추적
  • 프리팹 생성
  • 빈 게임 오브젝트 생성
  • Object Shooter 스크립트 추가
  • Object Shooter 스크립트의 Prefab to Spawn에 프리팹 삽입

주요 개념:

  • 캡슐 콜라이더 2D
  • 트리거 콜라이더
  • Bullet Attribute 스크립트
  • 프리팹
  • Object Shooter 스크립트

과제 아이디어:

  • 레이저를 프리팹으로 변경하지 않으면 어떻게 될까요? 레이저가 계속 동일한 방식으로 작동할까요? 왜 그런가요?
  • 플레이어가 소행성을 파괴하고 포인트를 얻게 하면 어떻게 될까요? 게임 종료 방식을 어떻게 바꿀 수 있나요?

Languages available:

1. 레이저 프리팹 생성

충돌 시 오브젝트가 서로 대미지를 입힐 수 있도록 체력을 구현합니다.

  1. 프로젝트 창에서 Assets > Images > Projectiles로 이동하여 LasersMid를 계층 구조로 드래그합니다.
  2. LasersMid 인스펙터에서 Add Component를 클릭하고 Capsule Collider 2D를 추가한 다음 Direction을 Vertical로 변경합니다. 크기를 조정해 발사체를 완전히 덮을 수 있게 만듭니다. Is Trigger 체크박스를 선택합니다.
  3. Rigidbody 2D를 추가해 발사체가 움직일 수 있도록 하고, 다른 Rigidbody 2D 컴포넌트처럼 Gravity 값을 0으로 변경합니다.
  4. 이제 Bullet Attribute 스크립트를 추가하여 레이저를 발사한 플레이어가 포인트를 얻도록 설정합니다.
  5. 레이저에 필요한 모든 컴포넌트가 추가되었기 때문에 계층 구조에서 프로젝트 창의 LasersMid를 Assets > Prefabs로 드래그하여 이 게임 오브젝트를 프리팹으로 만듭니다. LasersMid가 프리팹으로 변환된 것을 확인한 다음 계층 구조에서 LasersMid를 삭제합니다.

용어 정의

  • Bullet Attribute 스크립트: 처음에 발사한 플레이어에 대한 레퍼런스를 담고 있습니다.
  • 프리팹: 게임 오브젝트를 생성할 수 있는 마스터 원본입니다.

알고 계셨나요?

  • 두 오브젝트가 서로 접촉하거나 교차하는 시점이 감지되면 트리거 콜라이더가 사용됩니다.

2. 레이저 발사체 만들기

충돌 시 오브젝트가 서로 대미지를 입힐 수 있도록 체력을 구현합니다.

  1. 계층 구조에서 SpaceshipRed를 오른쪽 클릭한 다음 Create Empty를 선택해 빈 게임 오브젝트를 생성합니다. 오른쪽 클릭하여 이름을 LaserShooter로 변경합니다.
  2. 계층 구조에서 LaserShooter를 클릭한 상태에서 인스펙터로 이동한 후 Add Component를 클릭하여 Object Shooter 스크립트를 추가합니다. 다음으로 1.1단계에서 생성한 LasersMid 프리팹을 Prefab to Spawn으로 드래그 앤 드롭합니다. 레이저를 트리거하는 Key to Press를 다른 키로 변경합니다.
  3. 스크립트가 추가되면 게임 창에 초록색 화살표와 원이 표시되어 있는 것을 알 수 있습니다. 이를 우주선 앞쪽 끝부분으로 옮깁니다.
  4. 이제 계층 구조에서 소행성을 클릭합니다. 인스펙터 창에서 Destroy for Points 스크립트를 추가해 소행성이 레이저와 충돌 시 파괴되도록 만듭니다. 게임의 목적이 소행성 파괴를 통한 포인트 획득이 아니기 때문에 Points Worth 값을 1에서 0으로 변경합니다.
  5. 플레이 버튼을 눌러 게임을 테스트하고 소행성을 파괴할 수 있는지 확인합니다.

용어 정의

  • Object Shooter 스크립트: 프리팹의 사본을 생성하고 발사합니다.
  • Destroy for Points 스크립트: 충돌한 오브젝트를 제거하고 플레이어에게 점수를 부여합니다.

Complete this Tutorial