Unity 최종 프로젝트 - 14

이준호·2024년 2월 1일
0

📌 Unity 최종 프로젝트

📌 추가 사항

➔ Temporary Gas Station Scene

원래 샘플 맵은 이런식으로 구성되어 있다.



Map Setting

  • 안으로 진입을 위하여 버스를 맵 밖으로 나가지 못하는 용도로 사용하기 위해 버스의 위치를 바꿔주었다.

  • 그 외에 원본 맵 이외 부분으로 이어지는 부분에는 펜스 오브젝트를 활용하여 자연스럽게 나가지 못하도록 막아주었다.



  • Level 이라는 빈 GameObejct를 만들어, 안에 지형에 해당하는 오브젝트를 넣어주고 NavMesh Surface Component를 달아주고 Bake 해주었다.

  • 맵의 내부로 이어지는 부분이나 중간중간 살짝 어긋난 부분의 높낮이나 지름에 의해 값을 바꿔주었다.

  • Radius : Enemy가 문을 통과하게 하기 위해 적절한 값으로 반지름을 조정해주었다.

  • Height : Enemy가 마찬가지로 문을 통과하게 하기 위해서 키(높이)를 조정하였다.

  • Step Height : 맵 중간중간 약간씩 어긋난 부분이 Enemy가 지나갈 때, 어색하게 지나가기에 무시하고 올라갈 수 있는 높이를 조정해주었다.

  • 위 값들의 조정을 하고 Bake 해주어서 자연스럽게 이동할 수 있는 이동가능 경로들을 얻게되었다.


Out Of Range Back Ground

  • 게임이 3D Quarter View 이기에 맵 외부로 이동할 수는 없지만, 배경이 비어있으면 어색하기에 도로와 흙을 적당히 어울리도록 배치하였다.





➔ Temporary Camp Scene

원래 샘플 맵은 이런식으로 구성되어 있다.

Out Of Range Back Ground

  • 게임이 3D Quarter View 이기에 맵 외부로 이동할 수는 없지만, 배경이 비어있으면 어색하기에 나무로 둘러싸주는 작업을 하였다.


Collider & Trigger

Collider

  • 맵 밖으로는 나갈수 없기에, 원본 맵의 테두리를 투명한 머테리얼을 적용한 3D 오브젝트로 둘러 나가지 못하게 하였다.

Trigger

  • 맵의 한쪽 부분에 Trigger로 처리해둔 안개 부분을 만들어 그 쪽으로 가면 맵을 이동할 수 있는 창이 나오도록 하기 위해서 만들었다.











📌 해야할 사항

  • 중간 발표 대비 각각 작업물들의 병합

  • 발표 PPT 준비












📌 남은 목록

  • Action Node 모듈화
    현재 EnemyBasicBT.cs 안에 액션노드들이 모두 구현되어 작동중이다. (Func를 사용해서)
    코드가 길어지다 보니 시인성이 좋지 않기도 하고, 확인이 힘들어져 튜터님의 피드백대로 각 액션노드들을 SO와 클래스로 모듈화 할 예정이다.

  • Sound Detect
    현재 좀비가 시야각 안에서만 감지가 가능한데 그러면 가까이 와서 총을 쏘거나 뛰어다녀도 인식을 하지 못할것이다.
    그것은 매우 부자연스럽다. 그래서 사운드감지 범위를 만들고 그 범위 안에서 소리가 나는 행동을 이벤트로 받아서 감지하도록 할 예정이다.

  • Async SetDestination
    나중에 좀비가 50~100마리로 늘어났을 때, 좀비 개개인 모두가 SetDestination으로 목적지 경로를 계산하고 할당하기에는 모바일에서 너무 연산 비용이 높기에, 비동기를 이용해 목적지까지의 경로 계산을 따로 비동기로 계산해줄 것이 필요.

profile
No Easy Day

0개의 댓글