
오브젝트 생성
Tutorial
Beginner
+10XP
30 mins
Unity Technologies

장애물을 파괴할 수 있는 새 게임 오브젝트를 생성합니다.
튜토리얼 성과
이 튜토리얼에서 배울 내용은 다음과 같습니다.
- 캡슐 콜라이더 2D(트리거)를 추가하여 오브젝트가 접촉하거나 교차하는 시점 추적
- Bullet 속성 스크립트를 추가하여 포인트 추적
- 프리팹 생성
- 빈 게임 오브젝트 생성
- Object Shooter 스크립트 추가
- Object Shooter 스크립트의 Prefab to Spawn에 프리팹 삽입
주요 개념:
- 캡슐 콜라이더 2D
- 트리거 콜라이더
- Bullet Attribute 스크립트
- 프리팹
- Object Shooter 스크립트
과제 아이디어:
- 레이저를 프리팹으로 변경하지 않으면 어떻게 될까요? 레이저가 계속 동일한 방식으로 작동할까요? 왜 그런가요?
- 플레이어가 소행성을 파괴하고 포인트를 얻게 하면 어떻게 될까요? 게임 종료 방식을 어떻게 바꿀 수 있나요?
Languages available:
1. 레이저 프리팹 생성
충돌 시 오브젝트가 서로 대미지를 입힐 수 있도록 체력을 구현합니다.
- 프로젝트 창에서 Assets > Images > Projectiles로 이동하여 LasersMid를 계층 구조로 드래그합니다.
- LasersMid 인스펙터에서 Add Component를 클릭하고 Capsule Collider 2D를 추가한 다음 Direction을 Vertical로 변경합니다. 크기를 조정해 발사체를 완전히 덮을 수 있게 만듭니다. Is Trigger 체크박스를 선택합니다.
- Rigidbody 2D를 추가해 발사체가 움직일 수 있도록 하고, 다른 Rigidbody 2D 컴포넌트처럼 Gravity 값을 0으로 변경합니다.
- 이제 Bullet Attribute 스크립트를 추가하여 레이저를 발사한 플레이어가 포인트를 얻도록 설정합니다.
- 레이저에 필요한 모든 컴포넌트가 추가되었기 때문에 계층 구조에서 프로젝트 창의 LasersMid를 Assets > Prefabs로 드래그하여 이 게임 오브젝트를 프리팹으로 만듭니다. LasersMid가 프리팹으로 변환된 것을 확인한 다음 계층 구조에서 LasersMid를 삭제합니다.
용어 정의
- Bullet Attribute 스크립트: 처음에 발사한 플레이어에 대한 레퍼런스를 담고 있습니다.
- 프리팹: 게임 오브젝트를 생성할 수 있는 마스터 원본입니다.
알고 계셨나요?
- 두 오브젝트가 서로 접촉하거나 교차하는 시점이 감지되면 트리거 콜라이더가 사용됩니다.
2. 레이저 발사체 만들기
충돌 시 오브젝트가 서로 대미지를 입힐 수 있도록 체력을 구현합니다.
- 계층 구조에서 SpaceshipRed를 오른쪽 클릭한 다음 Create Empty를 선택해 빈 게임 오브젝트를 생성합니다. 오른쪽 클릭하여 이름을 LaserShooter로 변경합니다.
- 계층 구조에서 LaserShooter를 클릭한 상태에서 인스펙터로 이동한 후 Add Component를 클릭하여 Object Shooter 스크립트를 추가합니다. 다음으로 1.1단계에서 생성한 LasersMid 프리팹을 Prefab to Spawn으로 드래그 앤 드롭합니다. 레이저를 트리거하는 Key to Press를 다른 키로 변경합니다.
- 스크립트가 추가되면 게임 창에 초록색 화살표와 원이 표시되어 있는 것을 알 수 있습니다. 이를 우주선 앞쪽 끝부분으로 옮깁니다.
- 이제 계층 구조에서 소행성을 클릭합니다. 인스펙터 창에서 Destroy for Points 스크립트를 추가해 소행성이 레이저와 충돌 시 파괴되도록 만듭니다. 게임의 목적이 소행성 파괴를 통한 포인트 획득이 아니기 때문에 Points Worth 값을 1에서 0으로 변경합니다.
- 플레이 버튼을 눌러 게임을 테스트하고 소행성을 파괴할 수 있는지 확인합니다.
용어 정의
- Object Shooter 스크립트: 프리팹의 사본을 생성하고 발사합니다.
- Destroy for Points 스크립트: 충돌한 오브젝트를 제거하고 플레이어에게 점수를 부여합니다.