본문 바로가기
개발자가 되어보자..공부공부

C# 유니티 공부 20 - 3D 쿼터뷰 예제2 (무기 스왑, 아이템 공전효과, Light& Particle 컴포넌트)

by 묭묭이와소담이 2022. 12. 20.
반응형

* 무기, 아이템 프리펩 생성.

- item 스크립트 생성하여 무기, 아이템에 스크립트 컴포넌트 넣어줌.

- item 스크립트에서 enum 열거형 데이터 타입 생성.

- 아이템 자체 회전 함수 적용. 

Rotate().. Vector3.up 축을 기준과 속도로 회전.

- 플레이어 스크립트에서 아이템 관련 변수 생성.

- 아이템에 충돌했을 때, 아이템을 먹어주는 OnTriggerEnter 함수 생성.

- 아이템과 무기에 각 해당하는 태그를 넣어주고, 인스펙터창 조절해준다음 프리펩으로 생성.

 

 

 

* 무기 스왑.

- 상호작용 및 무기 스왑에 필요한 변수 생성.

- 상호작용 함수 생성.

- 무기에 충돌하였을 때, 상호작용 키를 누르면  발생하는 OnTriggerStay, OntriggerExit 함수 생성.

(프리펩 생성 시, item 스크립트에서 생성한 int value 변수를 weaponIndex로 사용. 즉, hasweapons 배열에 들어가는 순서는 value값에 의해 결정.)

 

- 무기 스왑 함수, 애니메이션 생성.

- int equipedindex는 -1로 초기값을 정해놔야 배열의 첫 번째(0번) 무기를 먹었을 때 스왑이 가능하다.

- isSwap 변수로 스왑중에는 다른 행동을 통제 가능.

 

 

* 아이템 공전 효과

- 메인 카메라 고정 효과와 같은 원리.

- 타겟의 포지션과 Offset(보정치)를 이용.

- RotateAround()는 해당 좌표 주위를 회전 하는 함수.

해당 좌표(타겟)이 움직이게 되면 버벅거리는 현상이 잦아서, 보정을 해주는 편이 좋다.

- 플레이어 주변에서 공전하는 수류탄을, 갯수가 늘어 날 때마다 활성화 시켜준다. (사진2)

 

 

* Light & Particle System 컴포넌트

- Light는 발광효과를 주며 범위, 강도 그리고 색상 조정 가능.

- Particle System은 말 그대로 입자를 발생시키는 효과.

내부에 다양한 파라미터들이 있음.

 

1) Mesh Object

-  Simulation Space에서 입자 효과가 발생하는 좌표를 Local 좌표, Wolrd 좌표로 선택 할 수 있음.

- Start LifeTime은 각 입자가 생존, 즉 유지되는 시간.

2) Emission

- Rate Over Time : 입자가 시간에 따라 발생하게 됨.

- Rate Over Distance : 입자가 거리, 즉 움직임에 따라 발생하게 됨.

(2가지 모두 오른쪽 화살표를 누르면 일정 범위에서 랜덤으로 발생하게 할 수 있음.)

 

3) Shape

- 입자가 퍼지는 모양, 방향 등을 조정.

4) Limit Velocity over LifeTime

- 입자가 퍼지는 속도를 조절해줌.

Drag의 수치를 증가시킬 수록, 입자가 저항을 많이 받게 됨.

5) Color over LifeTime

- 입자의 색상 조정 가능

6) Size over Lifetime

- 입자가 퍼지는 정도를 그래프의 형태로 조절 가능.

(defalt로 주어지는 그래프들이 있음.)

7) Renderer

- Meterial도 적용하고, 일반적인 Renderer 기능들이 있음.

 


 

★ 배열 활용에 더 익숙해져보자.

 

 

 

반응형

댓글