Unity 최종 프로젝트 - 4

이준호·2024년 1월 16일
0
post-thumbnail

📌 Unity 최종 프로젝트



📌 수정사항

➔ Project Templates Change

3D (Unity Render Pipeline) ➔ 3D (Built-in)

  • 우리가 원하는 에셋이 Map이나 Character의 에셋이 URP를 지원하지 않는 경우가 있어서 타협안으로 다운그레이드 하였다.











📌 진행상황




➔ Project Jira BackLog Sprint & Issue

  • 현재 진행상황

0. Project_Setup

  • Issue : 프로젝트 기본 설정 및 유니티 패키지 셋팅

1. Project_FrameWork

  • Issue :각 매니저 및 FSM,BT등 Base 기반 작성

2. Project_Skeleton

  • 엔티티 ➔ 모든 스크립트 컴포넌트를 지니는 기본 베이스
    • Entity.cs* 바이오 ➔ 엔티티를 상속 받음
  • Bio.cs : Entity.cs
    • 적과 플레이어 같이 살아 움직이는 생물체
    • 체력이 있으며, Hit 메서드를 강제구현(인터페이스가 좋을 듯)
  • 플레이어
    • 플레이어 컨트롤러 ➔ 무브먼트, 어택 (터치)
    • 플레이어 모듈라 ➔ Exp, AttackDamage 등등 실제 수치
    • 플레이어 데이터 ➔ 모듈러와 각종 데이터들(애니메이션 등)을 지니는 클래스
    • 플레이어 FSM ➔ 컨트롤러에 부착하여 사용될 수 있게끔
    • 루팅(Looting)
    • Enemy BT가 동작하게끔 에너미 EnemyAI 같은 클래스(에너미 컨트롤러)
      • EnemyAI ➔ BT와 연동하여 [유휴 or 순찰, 발견 및 트레이스(추적), 공격] 기본
  • 매니저
    • 오브젝트 매니저 ➔ 하이어아키에 존재하는 모든 오브젝트를 관장하는 매니저
    • 풀 매니저(필요 시)
  • 인벤토리
    • 플레이어가 지니고 있는 장비/소모품/기타(업그레이드 및 자원)
    • 드래그 앤 드랍, 즉 터치로 꾹 눌러서 이동 시키는 (1초정도면 될듯)
  • 장비 시스템 - Equipment
    • 플레이어 무기 (최 우선순위)
    • 장비 모듈라 (무기 및 방탄, 옷 등) 인벤토리와 협업 필요
  • 플레이어 인터페이스
    • 인벤토리와 함께 작업한다면? 인벤창 옆에 캐릭터 정보 표현
  • 루팅(인터랙션)
    • 상호작용 가능한 것들











📌 담당 튜터님 Q&A By.희성님

➔ 어드레서블 그룹을 정하는 기준

  • 얼마나 필요한지 (빈도가 많은지)

  • 로딩 시간이 긴가?

기존 방법

➔ 그룹을 Scene과 자주 사용하는 (Common)으로 나눈다.

➔ Label은 실제 어드레서블이 불러들이는 태그로 (확장자와 들어가야되는 Scene)으로 구분한다.




➔ 기타

  • 시간이 적고 유니티에서 제공되는 EnemyAI는 NavMeshAgent를 사용하는 것이 좋을 것이다.

    • 당연히 AI를 구현할려면 밑바닥에서 모든 프레임워크를 구성 해야한다.

    • 이로 인해서 하나의 대규모 프로젝트가 될 수 밖에 없는 내용이다.

  • Addressable 키 값을 문자열을 사용하지 않기 위해서

    • 대규모 약 100개가 넘어가는 키들을 자동화 하기 위해선 당연히 프레임워크가 구축되어야한다.

    • AssetReference만을 이용하는 수동 작업은 한계가 존재함

    • 이를 자동화 시스템을 구현하여서 문자열 오타가 발생하지 않게 할 수 있을 것

  • 플레이어 또한 Behavior Tree를 사용 가능하다. 실제로 사용하는 게임들도 많이 있다.

  • 김하연 튜터님은 연세대 AI박사 출신이시다. 과제를 냉장고에 코끼리를 넣는걸 원하실것이다

profile
No Easy Day

0개의 댓글