2025. 12. 2. 21:14ㆍ본 캠프
오늘은 무기 장착 기능 및 아이템에 따라 어떤 무기를 습득하게 될지 그리고 무기데이터 처리에 대한 부분을 구현했다.

탄환이 발사 될 때 탄환끼리 겹치는 부분은 Layer 설정에 Bullet을 추가하고 Bullet끼리는 부딪히지 않도록 설정해두었다.
덕분에 산탄처럼 흩어지는 총알의 경우 서로 충돌하지않고 쭉 날아가는 형태로 구현하는데 성공했다.

처음에는 테스트를 위해서 무기에 직접 데이터를 넣고 플레이어 인풋도 무기 오브젝트 쪽에서 테스트 하다가
이후 PlayerController의 입력값을 받아와 Attack시에 한번에 모든 무기가 공격이 가능하도록 변경했다.
기존의 InputAction에서 Event를 통한 입력값은 한번에 한 입력값만 처리되기 때문에 무기를 4개 장착하고 있어도
무기 하나에서만 공격이 나가는 현상이 있었으나

인풋 액션 컴포넌트를 무기에서 모두 제거하고

입력을 WeaponManager에게 전달해 직접 장착한 무기들을 확인하고 발사하는 방식으로 해결했다.


각각 무기 슬롯은 무기 위치만 가지고 있고, Weapon도 스크립트를 가진채 존재한 상태로 데이터만 갈아끼우는 형식으로
무기 종류를 바꾸게 구성했다. ModelRoot_1는 무기종류에 따라 어떤 모델을 불러올지 결정하기 위해 추가해뒀다.


모델도 팀원이 만든 FBX형식의 모델링을 담은 프리펩을 구성해서 ModelID를 부여해 동일한 ID를 가진 무기 데이터를 불러오는 방식으로 해결했다.
어드레서블로 추후에는 관리해보고 싶은데 조금 아쉽다.


프로토타입 기획 단계에서는 장착 순서 변경에 대한 구현이 따로 없기에 순서대로 장착을 할 수 있도록 구성했고
시간적 여유가 된다면 발사 사운드/이펙트 총알 충격 사운드/이펙트도 같이 적용해봐야겠다.
아직 팀원들의 기능을 합쳐서 데이터 관리나 유니티 생명주기 부분을 처리하진 못해서 내일은 아마 결과물을 연결하는 부분을
제일 많이 신경쓸 거 같다.
'본 캠프' 카테고리의 다른 글
| [내일배움캠프 본 캠프 48일차] 팀프로젝트 4일차 (0) | 2025.12.04 |
|---|---|
| [내일배움캠프 본 캠프 47일차] 팀프로젝트 3일차 (0) | 2025.12.03 |
| [내일배움캠프 본 캠프 45일차] 팀프로젝트 1일차 (0) | 2025.12.01 |
| [내일배움캠프 본 캠프 44일차] 심화 팀프로젝트 결성 (0) | 2025.11.28 |
| [내일배움캠프 본 캠프 43일차] 심화프로젝트 개인 4일차 (0) | 2025.11.27 |