#1. 원거리무기로 공격하기 - 총알 및 탄피 프리팹을 instate 및 destroy하는 방식으로 구현
1) 총알 만들기 - Trail Renderer 오브젝트(구 콜라이더, 리지드바디) - 프리팹 생성
2) 탄피 만들기 - 모델프리팹 오브젝트(박스콜라이더, 리지드바디) - 프리팹생성
3) 플레이어가 z키로 공격했을때 총알이 발사되고 탄피가 튕겨 나가서 아래로 떨어지고 탄피는 사라짐
- z키로 공격 : 플레이어 어택함수
- 오른팔을 들어올림 : shot애니메이션 실행
- 총알이 발사 : 총알 프리팹 생성 instate , 총알 프리팹 생성될 위치, 리지드바디 속력 또는 힘을 주어 일정방향으로 나아감
- 탄피가 튕겨 나가 : 탄피 프리팹 생성 instate, 탄피 프리팹 생성될 위치, 리지드 바디 랜덤속력 또는 랜덤힘을 주어 랜덤방향으로 나아감, + 힘을주어 회전
- 아래로 떨어지고, 탄피 사라짐 : 탄피에 리지드바디로 중력 적용, 마지막에 destroy
1. 총알발사위치, 탄피발사위치, 총알프리팹, 탄피프리팹 생성
- 총알이 생성될 위치 Transform정보가 들어있는 BulletPos오브젝트 생성 -- 플레이어 눈앞쪽에 위치
- 탄피가 생성될 위치 Transform정보가 들어있는 BulletCasePos 오브젝트 생성 --총기 옆면에 위치
- 빈오브젝트에 Trail Renderer속성 + 콜라이더 + 리지드바디를 추가하여 핸드건(초록) 서브머신건(파랑)의 총알오브젝트 각 각 생성
- 다운받은 탄피 오브젝트로 탄피 오브젝트 생성
- 총알 오브젝트와 탄피오브젝트를 프리팹으로 만듬
2.코드 구현
1) Weapon스크립트 코드구현
*rigidbody.AddTorque(벡터(축), 포스모드); ---> 벡터 축을 중심으로 힘을 주어 회전시키는 코드
2) Player 스크립트 코드구현
3)총알이나 탄피가 바닥이나 벽에 닿으면 사라지도록 코드구현
4)원거리무기 오브젝트 인스펙터창에 각각 프리팹 및 위치정보 오브젝트를 드래그 앤 드랍
3.총알 장전
1) Weapon 스크립트
2)Player 스크립트
'Unity > Unity3D_Quater' 카테고리의 다른 글
Unity3D_Quater - 피격 테스터 만들기 (0) | 2021.02.22 |
---|---|
Unity3D_Quater - 마우스에 의한 회전 및 공격 구현, 물리문제 해결 (0) | 2021.02.22 |
Unity3D_Quater - 근접공격이펙트, 근접공격 구현 (0) | 2021.02.16 |
Unity3D_Quater - 아이템획득(체력, 코인 등) 및 폭탄소유 이펙트 (0) | 2021.02.16 |
Unity3D_Quater - 애니메이션 동시재생(애니메이션 레이어) (0) | 2021.02.15 |