Pv_log

FPS Microgame) FPS Mod: Set up a new burst rifle weapon 본문

Unity Learn 번역/FPS Micro Game

FPS Microgame) FPS Mod: Set up a new burst rifle weapon

Priv 2020. 1. 13. 21:29

출처


 

1. 새로운 무기 추가하기

1) 먼저, 프리팹(prefab)을 만들어야 합니다.

현재 scene에 게임오브젝트를 추가하는 것부터 시작해보죠.

Hierarchy 창에서 Create > Create Empty를 클릭해주세요.

 

 

2) 다음으로, 오브젝트의 이름을 "Weapon_BurstRifle"처럼 좀 더 알기 쉬운 이름으로 변경해주겠습니다.

 

 

 

3) 이제, 방금 생성한 게임오브젝트를 Project 창으로 드래그하여 프리팹으로 만들어주세요.

폴더 위치는 Assets > FPS > Prefabs > Weapons로 설정해주세요.

 

 

4) 이제 프리팹을 더블 클릭으로 열어주세요.

 

 

5) Hierarchy 창에서 "Weapon_BurstRifle" 게임오브젝트를 선택하시고, Transform 컴포넌트 우측 상단 코너에 있는 작은 톱니바퀴 아이콘을 클릭해주세요.

이제, "Reset"을 클릭하셔서 오브젝트의 위치(position), 회전(rotation), 크기(scale) 값을 기본 값으로 맞춰 주세요.

 

 

6) Add Component 버튼을 클릭하시고 "Weapon Controller"를 검색해주세요.

검색된 Weapon Controller 스크립트를 선택해주세요.

 

 

7) Weapon Controller 컴포넌트가 이제 아래 사진처럼 게임오브젝트에 추가되었을 겁니다.

 

 

8) 이제 무기를 작동시키는데 필요한 오브젝트들과 데이터들을 하나씩 추가할 차례입니다.

먼저 제작할 무기의 메쉬(Mesh)를 추가해보죠.

튜토리얼에서 사용할 메쉬는 Assets > ModAssets > Models > Weapons 경로에 있습니다.

Mesh_Weapon_1 프리팹을 선택하시고 Project 창에서 Hierarchy 창으로 드래그하여 "Weapon_BurstRifle"의 하위 오브젝트로 만들어주세요.

 

 

9) 새로 추가한 메쉬 오브젝트를 선택하시고 position 값을 (0, 0.1, 0.27)로 설정해주세요.

이렇게 값을 설정해준 것은 게임을 플레이하는 동안 FPS 뷰(view) 상의 적절한 위치에 보이도록 만들어주기 위함입니다.

 

 

10) Inspector 창에 있는 Weapon Controller 컴포넌트 아래에 우리가 설정한 무기 데이터를 설정해주겠습니다.

먼저, 무기 이름을 설정하겠습니다. (ex: "Burst Rifle")

 

 

11) "Weapon Icon" 필드(field)에서 에셋(asset) 선택 메뉴 우측에 있는 작은 원형 아이콘을 클릭하시고, 무기의 스프라이트(sprite)를 선택해주세요.
(이 스프라이트는 게임 HUD의 무기 선택 부분에 사용될 스프라이트입니다.)

여기서는 "HUD_Weapon1" 스프라이트를 선택하겠습니다.

/* 에셋 스토어에 제공되는 프로젝트 파일을 보니까 해당 스프라이트가 없더군요..
다른 곳에서 따로 해당 스프라이트만 구할 수도 없는지라, 파일이 수정되기 전까지는 다른 무기 스프라이트를 사용하셔야 할 것 같습니다.*/

 

 

12) Crosshair Data Default 섹션(section)을 확장시키신 뒤, 필요한 데이터를 설정해주겠습니다.
(여기어 필요한 데이터는 적을 겨누지 않은 상태의 조준선 색상을 말합니다.)

아래의 과정을 따라주세요.

  • Crosshair_Hexa 스프라이트를 할당해주세요.
  • 조준선(Crosshair) 사이즈를 50으로 설정해주세요.
  • 조준선 색상을 흰색으로 설정해주세요.
    (흰색은 Color picker 창에서 Alpha 값을 100으로 설정하시면 됩니다.)

 

 

14) Weapon Root 필드에는 이전에 우리가 추가했던 무기 메쉬의 게임오브젝트를 할당해주세요.

이 필드는 무기가 스크린 상에서 활성화(active) 되지 않은 상태일 때, 게임오브젝트가 비활성화(deactivate) 상태임을 기억할 수 있도록 사용됩니다.

 

 

15) 다음은 무기 머즐(muzzle)을 제작해보겠습니다.

이것(머즐)은 발사체가 어디서 나갈 것인지를 나타냅니다.

Hierarchy 창에서 빈(empty) 게임오브젝트 하나를 생성하시고 Mesh_Weapon_1 게임 오브젝트의 자식 오브젝트로 연결해주세요.

 

 

16) 새로 생성한 게임오브젝트의 이름을 "Muzzle"로 수정해주세요.

 

 

17) "Muzzle" 게임오브젝트를 이동시켜서 메쉬의 머즐과 일치하도록 만들어주세요.

 

 

18) Weapon Controller 컴포넌트로 돌아가셔서 방금 새로 생성한 "Muzzle" 게임오브젝Weapon Muzzle 필드에 할당시켜주세요.

 

 

19) Shoot Type 필드를 "Automatic"으로 맞춰주세요.

Automatic은 발사 버튼을 누르고 있으면 발사체가 연속으로 발사되는 것을 의미합니다.

 

 

20) Projectile Prefab 필드에는 Project 창에서 미리 제공되는 발사체 프리팹 중 하나를 할당시키시면 됩니다.

프리팹이 저장되어 있는 경로는 Assets > FPS > Prefabs > Projectiles입니다.

튜토리얼에서는 "Projectile_Blaster"를 선택하겠습니다.

 

 

21) Delay Between Shots 값을 0.05로 설정해주세요.

 

 

22) Bullet Spread Angle 값을 0.5로 설정하여 무기에 약간의 탄 퍼짐을 구현해줍시다.

 

 

23) Bullets Per Shot 값은 1로 남겨두세요.

이 값은 무기를 쏘는 동안 얼마나 많은 탄이 발사될 것인지를 결정하는 값입니다.

 

 

24) Recoil Force 값도 1로 남겨두세요.

이 값은 격발 시에 발생할 무기의 반동을 결정하는 값입니다.

 

 

25) Aim Zoom Ratio 값은 0.25로 설정해주세요.

이 값은 무기 정조준 시의 기본 시야각을 백분율로 나타내는 값입니다.
(값이 작을수록 더 높은 배율임을 의미합니다.)

 

 

26) Aim Offset 값은 (0, 0.13, 0)으로 설정해주세요.

이 값은 무기를 정조준했을 때, 무기의 위치에 적용되는 위치 오프셋(Offset) 값으로, 이 값을 조정하여 무기의 광학 조준경의 위치가 화면의 중앙에 놓이도록 만들 수 있습니다.

 

 

27) Ammo Reload Rate 값은 99999로 설정해주세요.

이렇게 하면 무기를 거의 즉시 재장전하도록 만들 수 있습니다.

 

 

28) Ammo Reload Delay 값을 0.7로 설정해주세요.

이 값은 재장전에 소요되는 시간을 결정합니다.

 

 

29) Max Ammo 값은 3으로 하겠습니다.

이 값은 무기 탄약이 꽉 차있을 때의 탄약 수를 의미합니다.

 

 

30) 이제 Project 창에서 "VFX_MuzzleFlashGreen" 프리팹을 찾으셔서 Muzzle Flash prefab 필드에 할당시켜주세요.

경로는 다음과 같습니다 : Assets > FPS > Prefabs > VFX

 

 

31) Project 창에서 "Blaster_Shot" 오디오 클립(Audio Clip)을 찾으셔서 Shoot SFX 필드에 할당시켜 주세요.

경로는 다음과 같습니다 : Assets > FPS > Audio > SFX > Weapons

 

 

32) 다음으로 Project 창에서 "Pickup_Weapon_Medium" 오디오 클립을 찾으셔서 Change Weapon SFX 필드에 할당시켜 주세요.

경로는 다음과 같습니다 : Assets > FPS > Audio > SFX > Pickups

 

 

33) 이렇게 새로운 무기 프리팹 제작이 모두 완료되었습니다!

 

 


2. 무기 아이템 제작하기 (Creating the weapon Pickup)

1) 이제 우리가 제작한 무기를 픽업 프리팹(pickup prefab)으로 제작해 게임 상에서 플레이어가 획득할 수 있도록 만들 차례입니다.

Project 창에서 기존의 무기 픽업 하나를 복제해 사용하겠습니다. (Windows: ctrl + d / Mac: ⌘ + d)

"Pickup_Blaster" 프리팹을 복제하신 뒤, 이름을 "Pickup_BurstRifle"로 바꿔주세요.

 

 

2) 새로 제작한 "Pickup_BurstRifle" 프리팹을 더블 클릭하셔서 열어주세요.

 

 

3) "Pickup_BurstRifle" 게임오브젝트Weapon Pickup 컴포넌트에 있는 Weapon Prefab 필드에 새 무기 프리팹(Weapon_BurstRifle)을 할당시켜 주세요.

 

 

4) Hierarchy 창에서 "Weapon_Blaster" 게임오브젝트를 삭제해주세요.
(이는 게임 상에서 보일 무기 아이템을 나타냅니다.)

 

 

5) Project 창에서 새로운 무기 프리팹을 찾으셔서 Hierarchy 창에 있는 "Mesh" 게임오브젝트 아래에 드래그해주세요.

게임 상에서 픽업 오브젝트가 무기를 올바르게 출력하도록 만들기 위함입니다.

 

 

6) 이제 새로운 무기 픽업 아이템 제작까지 마쳤습니다!

 

 


3. 새 무기 사용해보기

1) "MainScene" 씬을 Project 폴더에서 찾으셔서 더블-클릭으로 열어주세요.

 

 

2) Project 폴더에서 제작했던 무기 픽업 프리팹 ("Pickup_BurstRifle")을 찾아 씬에 배치시켜 주세요.

 

 

3) Play 버튼을 눌러 플레이 모드를 실행해주세요.

 

 

4) 게임을 하면서 캐릭터를 새로 제작한 무기 아이템이 있는 곳으로 움직여 보세요.

아이템을 획득하면 획득한 무기가 인벤토리에 추가될 것입니다.

 

 

5) 숫자 키를 이용하시면 무기 변경이 가능하답니다. 새로 제작한 무기도 한 번 사용해보세요.

 

 

6) 씬 저장하는 것 잊지 마세요! (Play 모드에서 나가기 전에 저장하세요!)

 

 


4. 가입 및 공유

유니티 커넥트에 가입하셔서 작업하신 결과물과 경험들을 다른 유저들과 함께 공유해보세요.

유니티 커넥트(Unity Connect)에 있는 에 아직 가입하지 않으셨다면, 한 번 가입해보시는 걸 추천드립니다.

FPS Microgame 프로젝트와 관련된 튜토리얼들을 진행하시면서 막힌 부분에 대한 질문을 올리시거나, 다른 유니티 크리에이터 분들과 함께 직접 제작하신 결과물들을 공유하실 수도 있습니다.

이 뿐만 아니라 여러 유니티 전문가 분들이 각종 도움이나 아이디어를 제공해 드리고자 활동하고 계십니다.

한 번 확인해보세요!

 


 

수고하셨습니다!


0 Comments