Unity - 사전합반 프로젝트 12

땡구의 개발일지·2025년 7월 3일

Unity마스터

목록 보기
56/78
post-thumbnail

UI

용석님이 기획팀이 준비한 에셋 결합 완료

장비

김영근 님이 구현중. 거의 완료. 내일 중으로 기능 결합 진행

플레이어 <-> 캐릭터 컨트롤러

캐릭터컨트롤러 세이브로더는 스테이지 씬 안에 있음. 구현함
스테이지 시작과 함께 모든 캐릭터 정보 로드. 플레이어 컨트롤러에 메인 캐릭터 컨트롤러 가져옴.

플레이어(일반공격력, 궁극기 공격력)(테이크데미지) <-> 총알(독립됨) <-> 에너미(테이크데미지) . 구현완료 BulletController에 public int attackPower 필드 추가.

플레이어의 필드 이동속도, 공격력, 체력, 공격속도 <- 캐릭터 컨트롤러 불러와서 플레이어 컨트롤러의 필드에 대입
궁극기 사용 -> 캐릭터 컨트롤러. UseUlt()
Ultimate 컴포넌트를 참조하는 캐릭터 컨트롤러 // Ultimate 컴포넌트는 플레이어 컨트롤러를 참조한다. 플레이어의 오브젝트 풀에서 탄환을 빼려면, 참조해야함.

총알 변경 방법 : 플레이어 컨트롤러 -> List 오브젝트풀 -> PooledObject를 변경하면 됨.
캐릭터 컨트롤러가 총알 프리팹을 배열로 든다(리스트). 플레이어 컨트롤러는 해당 리스트 Count만큼 오브젝트 풀 리스트 생성. 각 오브젝트풀에 총알 프리팹(PooledObject)에 참조시킴. 용도에따라 사용

모든 총알에 데미지를 넘겨줄 수 잇어야 한다. 구현완료
궁극기 데미지를 총알에 변동적으로 넣어주어야 한다. 구현완료 bulletPrefabController,bulletController 스크립트 수정함.
가져온 총알 프리팹을 기준으로 풀을 만들어서 지정해야함.
패링1 - 서브1 <- 캐릭터 컨트롤러에서 찾아옴
패링2 - 서브2 <-

OntriggerEnter에서 만약, defence가 >0 이면 하나 까고, TakeDamage 안함.
TakeDamage 시, 피격 애니메이션 -> 깜빡거리기 // 사운드 재생, 체력 감소

캐릭터마다 총알 적용이 다르게 되어야함 -> 총알 프리팹을 가져오는 방식으로 구현
리소스 폴더에서 인덱스에 따라 다르게 가져옴 Assets/Resources/Prefabs/Bullet

캐릭터 컨트롤러의 메인의 id기준으로 찾음 불렛 프리팹 이름을 아이디로 하고
5성 까지만 탐색 해보고, 5성 다 아니면 4성 확정이니까 -1 id의 총알프리팹 가져옴

공격 방식 전부 통일 -> 한번 공격하면 3번 발사하고, 선입력시간을 줘서, 해당 시간 내에 다시 입력 시, 이어서 공격이 나감. 코루틴으로 발사. 선입력은 타이머 Time.deltaTime, 선입력 여부 bool = 다음 코루틴 시작과 동시에 false로 바꾸면, 다시 선입력 가능하게 구현. if(!선입력&&타이머&&공격키 입력) = 선입력 true -> 코루틴 추가 시작

총알 프리팹 가져오는 방식 = $"{id}_{step}" // 캐릭터 가져오는 방식과 같음. SetParameter() 에서 참조시키기 <- 구현완료

캐릭터 모델<- 구현 되어있음(스크립터블 오브젝트)

private Animator animator <- 플레이어에다가 박아두면 됨
Awake() => GetComponent();
Animator.Play <- 애니메이션 재생 ( 루프) // 상태 설정 해놓으면 알아서 됨

아이콘 변경 시, 자식을 변경해야 함. GetComponentInChildren (본인 포함 X)

피격(쉽죠?)
게임오버(쉽죠)?
궁극기,패링 - 정주님 화이팅
UI연동(혼자해도됨)

profile
개발 박살내자

0개의 댓글