Pv_log

FPS Microgame) FPS Mod: Customize weapon projectiles 본문

Unity Learn 번역/FPS Micro Game

FPS Microgame) FPS Mod: Customize weapon projectiles

Priv 2020. 1. 20. 19:06

출처


1. 새로운 발사체 제작하기

1) 먼저, 새로운 프리팹(Prefab)을 제작해야 합니다.

현재 씬(Scene)에서 새로운 게임오브젝트를 추가하는 것부터 시작해봅시다.

 

 

2) 원하시는 이름으로 수정해주세요.

 

 

3) 이번 튜토리얼에서는 NewProjectile 이라고 하겠습니다.

 

 

4) 이제, hierarchy 창에 있는 새로 생성한 오브젝트를 Project 창으로 드래그해주세요.

드래그하실 경로는 Assets > Utech > FPS > Prefabs > Projectiles 폴더입니다.

 

 

5) 이제 게임오브젝트프리팹으로 제작되었습니다.

 

 

6) 이제 프리팹을 더블 클릭해서 열어주세요.

 

 

7) Hierarchy 창에서 오브젝트를 선택하시고, Inspector 창에서 transform 컴포넌트를 우클릭해주세요.

메뉴에서 Reset을 클릭해주세요.

이제 게임오브젝트의 위치(position), 회전(rotation), 크기(scale) 값이 모두 기본 값으로 설정되었을 겁니다.

이는 간단하지만 매우 중요한 작업입니다.

이 작업을 해주지 않는다면, 발사체가 올바른 위치에 생성되지 않는다거나 엉뚱한 방향으로 회전되어 생성될 수 있기 때문입니다.

 

 

8) Add Component 버튼을 클릭하시고, Projetile Standard 스크립트 파일을 선택해주세요.

컴포넌트(Component)의 첫 글자를 입력하시면 검색 결과를 좁히실 수 있습니다.

 

 

9) 여기까지 작업을 마치셨다면, 이제 새로운 컴포넌트 2개가 오브젝트에 추가된 것이 보이실 겁니다.

추가된 컴포넌트 2개는 방금 직접 추가하신 Projectile Standard 컴포넌트와 Projectile Standard 컴포넌트가 추가되면 자동으로 함께 추가되는 Projectile Base 컴포넌트입니다.

 

 

10) 이제 발사체에 메쉬(3D 모델)를 추가하겠습니다.

Project 창에서 원하시는 메쉬(mesh)를 고르시고, Hierarchy 창으로 드래그해주세요.

Assets > UTech > ModeAssets > Models > NatureProps 로 가시면 몇 가지 옵션이 준비되어 있습니다.

튜토리얼에서는 샘플로 FirTree 메쉬를 사용해보겠습니다.

FirTree 메쉬를 Hierarchy 창으로 드래그 & 드롭해주세요.

 

 

11) 이제 Scene 뷰에 메쉬가 나타날 겁니다.

Tip: Hierarchy 창에서 오브젝트를 선택하시고 마우스를 Scene 뷰에 놓으신 상태에서 키보드 'F' 키를 누르시면, 선택하신 오브젝트가 카메라 정중앙으로 바로 이동됩니다.

여기서는 FirTree 오브젝트가 중앙에 놓이겠군요.

 

 

12) 이제 이 메쉬를 발사체처럼 보이도록 Transform 컴포넌트 값을 수정해주겠습니다.

FirTree 메쉬의 경우 아래의 값이 가장 적절한 값입니다.

만약 다른 메쉬를 사용하신다면, 발사체의 앞면이 파란색 화살표 방향(정방향)을 향하고, 발사체의 길이가 약 0.5m 미만이 되도록 설정해주세요.

 

 

 

13) 이제 발사체 파라미터(Parameter) 설정해줄 차례입니다.

Hierarchy 창에서 부모 오브젝트(최상위 오브젝트)를 선택해주세요.

 

 

14) Inspector 창에서 Radious 값을 0.2로 변경해주세요.

 

 

15) 이제 메쉬를 Hierarchy 창에서 Projectile Standard 컴포넌트 내에 있는 Root 파라미터로 드래그해주세요.

이 작업은 Projectile Standard 컴포넌트가 메쉬의 Transform 값에 접근할 수 있도록 만들어줍니다.

 

 

16) 이와 유사하게 발사체의 끝부분(Tip)에 대한 Transform 값을 Projectile Standard 컴포넌트가 참조할 수 있도록 만들어주어야 합니다.

우선 오브젝트를 먼저 만들어야겠네요.

Hierarchy 창에 있는 메쉬를 우클릭하시고, Create Empty를 선택해주세요.

 

 

17) 방금 생성한 게임오브젝트의 이름을 설정해주세요.

 

 

18) 이제 Move 도구를 선택해주세요.

방금 생성한 게임오브젝트를 메쉬의 끝부분으로 이동시킬 것입니다.

 

 

19) Scene 뷰에 있는 화살표를 드래그해서 오브젝트를 이동시켜주세요.

 

 

20) 15단계에서 하셨던 것처럼, Hierarchy 창에 있는 Tip 게임오브젝트를 Projectile Standard 컴포넌트에 있는 Tip 파라미터로 드래그해주세요.

 

 

 

21) 이제 발사체가 다른 물체와 충돌했을 때 생성될 오브젝트를 선택할 차례입니다.

Impact VFX 필드 옆의 아이콘을 눌러주세요.

 

 

22) 창이 표시되면, Assets 탭을 클릭해주세요.

 

 

23) 여기서 원하시는 오브젝트 1개를 선택해주시면 됩니다.

샘플로는 Cookie 메쉬를 사용해보겠습니다.

 

 

24) 이제 발사체가 다른 물체와 충돌했을 때 재생될 효과음을 선택해야 합니다.

Inspector 창에서 Impact SFX Clip 필드 옆에 있는 아이콘을 눌러주세요.

 

 

25) 원하시는 사운드를 선택해주세요.

 

 

26) 이제 발사체가 모두 완성되었습니다.

자동 저장 기능이 비활성화되어 있다면, 아래 사진과 같이 프리팹을 수동으로 저장해주세요.

 

 


2. 무기에 새로 제작한 발사체 할당시키기

1) Project 창에서 Assets > UTech > FPS > Prefabs > Weapons 로 이동하시고 무기 프리팹 하나를 선택하셔서 더블-클릭으로 열어주세요.

 

 

2) 이제 Hierarchy 창에서 무기가 선택되었으며, Inspector 창에서 무기 정보를 확인하실 수 있습니다.

Inspector 창에서 Projectile Standard 컴포넌트 아래에 있는 Projectile Prefab 필드를 찾아주세요.

이제 Project 창에서 방금 제작하신 발사체 프리팹을 Projectile Prefab 필드에 할당해주셔야 합니다.

Project 창에서 제작하신 발사체 프리팹을 찾으셔서 Inspector 창에 있는 Projectile Prefab 필드로 드래그해주세요.

 

 

3) 자동 저장 기능이 비활성화되어 있는 상태라면, 무기 프리팹 저장하시는 것 잊지 마세요.

(체크박스 옆에 "Save" 버튼이 있습니다.)

 

 

4) Play 버튼을 눌러서 잘 작동되는지 확인해보세요!

 

 


3. 추가 기능: 생성된 메쉬에 물리 적용시키기

1) 쿠키 메쉬에 물리를 적용시켜서 발사한 탄이 다른 물체와 충돌하면 공중에 떠있거나 벽에 붙지 않고 땅으로 떨어지도록 만들어봅시다.

Impact VFX를 이용해 간단한 메쉬를 사용하는 것 대신 이전에 했던 것처럼 프리팹을 사용해보겠습니다.

 

먼저, 이전에 사용했던 메쉬를 Project 창에서 Hierarchy 창으로 드래그해주세요.

현재 씬 아래에 원하시는 곳 아무 데나 드롭해주시면 됩니다.

아래 예시에 보이는 Cookie 메쉬는 Hierarchy 창 내의 게임오브젝트입니다.

 

 

2) Project 창에서 Assets > UTech > FPS > Prefabs 경로로 이동해주세요.

Hierarchy 창에서 Cookie 게임오브젝트를 선택하시고 Project 창의 Prefabs 폴더로 드래그해주세요.

팝업 창이 표시되면 Original Prefab을 선택해주세요.

 

 

3) 프리팹 이름을 원하시는 이름으로 변경하신 뒤, 더블 클릭으로 열어주세요.

 

 

4) 부모 게임오브젝트의 Transform 값을 초기화해주세요.

값 초기화는 Transform 컴포넌트를 우클릭하신 뒤, Reset을 클릭하시면 됩니다.

 

 

5) Scale 값을 (50, 50, 50)으로 설정해주세요.

 

 

6) Add Component 를 클릭해주세요.

이제 서로 다른 컴포넌트 2개를 추가해주셔야 합니다.

Mesh Collider 컴포넌트와 Rigidbody 컴포넌트를 추가해주세요.

(Rigidbody 2D 컴포넌트가 아니라, 일반 Rigidbody 컴포넌트를 선택하셔야 합니다.)

 

 

7) Mesh Collider 컴포넌트에서 Convex 박스를 체크해주세요.

 

 

8) Project 창에서 이전에 제작하셨던 발사체 프리팹을 찾아 열어주세요.

 

 

9) Inspector창에서, 새로 제작하신 프리팹을 할당시키기 위해 Projectile Standard 컴포넌트 아래에 있는 Impact VFX 필드 옆의 아이콘을 클릭해주세요.

 

 

10) 새로 제작하신 프리팹을 선택해주세요.

 

 

11) 자동 저장 기능이 비활성화되어 있다면, 수동으로 저장하시는 것 잊지 마세요.

 

 

12) Play 버튼을 누르셔서 생성된 메쉬에 물리가 제대로 적용되었는지 확인해보세요.

 

 


4. 가입 및 공유하기

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

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

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

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

한 번 확인해보세요!

 


 

수고하셨습니다!


0 Comments