Unity_2기 내일배움캠프 TIL

Unity_2기 12주차 (230124)

잼잼재미 2024. 1. 24. 21:48

오늘은 팀원들의 작업분의 통합 작업과 아이템을 진행했다.

 

 

구현 내용


1.  TresureBox 

 

아이템을 드랍하는 보물 박스를 만들었다. 

 

 

foreach (GameObject item in DropItems)
{
    int randomIndex = Random.Range(1, _itemMaxCount + 1);

    for (int i = 0; i < randomIndex; i++)
    {
        Vector3 randomPosition = new Vector3(Random.Range(-2f, 2f), Random.Range(0f, 2f), Random.Range(-2f, 2f));
        Vector3 randomRotation = new Vector3(Random.Range(-90f, 90f), Random.Range(-90f, 90f), Random.Range(-90f, 90f));
        Instantiate(item, transform.position + randomPosition, Quaternion.Euler(randomRotation));
    }
}

 

등록한 아이템을 순회하여 랜덤한 숫자로 주위에 드랍.

 

 

2. Bullet

총알을 10개 채우도록 구현.

 

 

트러블 슈팅


1.  Axe 사용 후, 총 공격이 안됨

 

아직 해결 방법을 찾지 못했다. 적이 Navmesh 이동을 할 때 이러한 버그가 생긴다. 특히 적과 직접 충돌하면 적이 원래 속도로 이동하지 못하고 다른 어떤 힘이 작용되는데 이 때, 총 공격을 받지 못한다. 해결하기 위해 많은 시도를 해봤지만 해결하지 못했다. 추후 버그 수정을 진행하겠다!

 

 

2. 씬 이동 시, 오류

 

씬을 이동할 때, 다음과 같은 오류가 발생했다. 아마도 게임매니저에서 생긴 오류인 것 같다. 스타트 씬에서는 Player가 존재하고 게임매니저가 존재한다. 그리고 게임매니저는 DonDestroyOnLoad 함수로 씬 이동에도 파괴되지 않도록 했다. 하지만 Player는 씬 이동에 새롭게 배치된 Player를 조작하도록 구현되어 있어서 GameManager에 인스펙터 창에 연결하는 오브젝트들이 모두 null이 되었다. 간단하게 해결하는 방법은 DonDestroyOnLoad  함수를 없애고 각각 모든 씬에 GameManager과 Player를 만들면 되지만 GameManager 처럼 Player와 그 정보도 함께 씬을 이동하는 방법을 찾아서 구현을 하고 싶었다. 고민을 많이 했지만 아직까지 방법을 찾지 못해서 내일 수정해서 다시 글 작성 하도록 하겠다!

 

 

회고


게임 한 싸이클 제작을 이번주까지 완료하기 위해 팀원들과 속도를 조금 올렸다. 오전에는 함께 통합을 진행하고 통합에서 생긴 오류들을 고쳤다. 그리고 추가적으로 꼭 필요한 기능들을 구현했다. 조금만 더 힘내서 멋진 게임을 만들고 싶다!

 

 

 

'Unity_2기 내일배움캠프 TIL' 카테고리의 다른 글

Unity_2기 12주차 (230126)  (1) 2024.01.26
Unity_2기 12주차 (230125)  (2) 2024.01.25
Unity_2기 12주차 (230123)  (1) 2024.01.23
Unity_2기 12주차 (230122)  (0) 2024.01.22
Unity_2기 11주차 (230119)  (0) 2024.01.19