스크린샷

구현/개선한 사항

  • 아이템 바 UI 추가
    • 현재 선택된 아이템은 하이라이트 처리되도록
  • 플레이어캐릭터 3D 모델로 교체 및 애니메이션 적용
  • 기타 버그 수정
    • 애니메이션 재생 중 피격시 애니메이션 재생이 멈추는 현상 수정
  • 아이템 박스 추가
    • 플레이어 캐릭터가 가까이 갈 시 아이템 습득, 자체적으로 계속해서 회전

 

  • 진행중 : 캐릭터/Gun Enemy 3D 모델 애니메이션에 총기 모델 Binding하기

추후 개선 사항

  • 계속 진행 : 캐릭터/Gun Enemy 3D 모델 애니메이션에 총기 모델 Binding하기
  • Object Pooling 적용
    • ItemBox, Bullet, Enemy 등
  • Item Drop Table 구현
    • Enemy 사망시 확률 적용
  • 피격 파티클 이펙트 적용
  • 아이템 바 UI 수정
    • 현재는 미리 Sprite를 받아와 처리하는데, 스프라이트 정보를 별도 클래스에서 관리하고, 아이템 정보로부터 스프라이트명을 받아와서 참조할 수 있도록(Key-Value Table)

'게임개발 > ShootingDefence' 카테고리의 다른 글

[ShootingDefence] 개발 일지 - 2022.06.05  (0) 2022.06.05

스크린샷

구현/개선한 사항

적 캐릭터 개선

  • Mixamo에서 3D 모델 및 애니메이션을 다운받아 적용함

  • Coroutine 사용 방식 개선
//실제 코드는 아닌, 동작 방식을 설명하기 위한 간이 코드임
	private void ChangeCoroutine(IEnumerator nextCoroutine)
    {
        if (currentCoroutine != null)
            StopCoroutine(currentCoroutine);
        currentCoroutine = StartCoroutine(nextCoroutine);
    }
    
    Start()
    {
     StartCoroutine(CoroutineIDLE());
    }
    
    CoroutineIDLE()
    {
     //.....
    StartCorutine(CoroutineRun());
    }
    
    CoroutineRun()
    {
     //.....
     StartCorutine(CoroutineAttack());
    }
    ...
  • 근접 공격형 적 유형 추가
  • Enemy Spanwer 추가

커스텀 마우스 포인터 구현

  • 기존 마우스 포인터 대신, Texture2D 기반의 마우스 포인터로 교체
  • 마우스포인터를 이용하여 사격가능/재장전 중 상태를 구분할 수 있도록 함

 

기타 플레이 개선

  • 마우스를 캐릭터와 겹쳐서 댈 경우, 플레이어 캐릭터가 기울어지던 현상 수정
    IEnumerator CharacterMoveMent()
    {
        while(true)
        {
            float horizon = Input.GetAxis("Horizontal");
            float vertical = Input.GetAxis("Vertical");

            Vector3 Movement = new Vector3(horizon, 0.0f - transform.position.y, vertical) * pSpeed;

            charController.Move(Movement);

            // 마우스가 향하는 방향으로 캐릭터 회전
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                Vector3 targetPosition = new Vector3(hit.point.x, 1.0f, hit.point.z);

                Quaternion rotation = Quaternion.LookRotation(targetPosition - transform.position);

                transform.rotation = Quaternion.Lerp(transform.rotation, rotation, Time.deltaTime * 10.0f);
                //Fix : X축 회전을 고정하여 마우스포인터가 캐릭터와 근접할시 캐릭터가 상하로 기울어지는 현상 해결
                Vector3 euler = transform.rotation.eulerAngles;
                euler.x = 0;
                transform.rotation = Quaternion.Euler(euler);

            }
            yield return new WaitForSeconds(0.01f);
        }
    }

 

추후 구현/개선 사항

  • 무기 UI 수정 및 인벤토리 기능 구현
  • 아이템 엔티티 구현 / 아이템 습득 기능 구현
  • Player Character도 기존 임시 모델에서 3D 모델로 변경할 것

'게임개발 > ShootingDefence' 카테고리의 다른 글

[ShootingDefence] 개발 일지 - 2022.06.08  (0) 2022.06.09

+ Recent posts