유니티 3D 쿼터뷰 액션게임 만들기
👾 아이템 먹기 & 공전 물체 만들기 👾
1. 변수 생성
✏️ 탄약, 동전, 체력, 수류탄(필살기) 아이템 먹기
- 탄약, 동전, 체력, 수류탄 변수 생성
- 각 수치의 최대값을 저장할 변수도 생성
🔻 인스펙터 창에서 초기값 설정
2. 아이템 입수
- OnTriggerEnter() 에서 트리거 이벤트 작성
- enum 타입 변수 + switch 문으로 간단명료하게 조건문 생성
- enum 타입에 맞게 아이템 수치를 Player 수치에 적용하기
🔻 플레이어 수치가 최대값을 넘지 않도록 로직 추가
🔻 먹은 아이템 삭제 비활성화
3. 공전 물체 만들기
🔻 공전하는 물체를 컨트롤하기 위해 배열변수 생성
public GameObject[] grenades;
🔻 빈 오브젝트에 4방향으로 공전할 오브젝트 생성 (Create Empty)
🔻 4방향으로 공전 오브젝트에 수류탄 Prefab 추가
- 드랍 아이템과 다르게 재질 변경 ( Weapon Grenade Orbit )
- Light & Particle System 컴포넌트 추가
✏️ 잔상이 남는 파티클 효과
Particle System - Simulation Space (World) / Emission - Rate over Distance 만 설정
4. 공전 구현
- 4방향 공전 오브젝트 새로운 스크립트 생성 & 추가
📌 RotateAround()
타겟 주위를 회전하는 함수 (타겟 위치, 회전축, 회전 수치)
📣 RotateAround()는 목표가 움직이면 일그러지는 단점이 있다
Player가 움직이면 따라오지 않음
- 직접 transform.position을 결정
- RotateAround() 후의 위치를 가지고 목표와의 거리를 유지
✏️ 수류탄을 먹었을 때 하나 씩 Player 주변에 생기는 효과
🔻 안에 있는 각 수류탄들을 Player 수류탄 배열 변수에 할당
🔻 안에 있는 각 수류탄들을 Inspector창에서 체크 해제 비활성화
🔻 Player로직에서 수류탄 개수대로 공전체가 활성화 되도록 구현
'유니티' 카테고리의 다른 글
유니티 3D 쿼터뷰 액션게임 - 원거리 공격 구현 / Instantiate() / Raycast / 마우스 방향으로 회전 (0) | 2022.04.23 |
---|---|
유니티 3D 쿼터뷰 액션 게임 - 근접공격 구현하기 / Trail Renderer / 코루틴 (0) | 2022.04.22 |
유니티 3D 쿼터뷰 액션게임 - 드랍 무기 입수와 교체 (0) | 2022.04.20 |
유니티 3D 쿼터뷰 액션 게임 - 아이템 만들기 / Prefeb / Light Effect / Particle Effect (0) | 2022.04.19 |
유니티 3D 쿼터뷰 액션게임 만들기 - 플레이어 점프 / 회피 (0) | 2022.04.19 |