내외 교육들/TIL

TIL)2024-01-31 상호작용, 퇴장, 오브젝트 자가삭제 완료

LongRunnner 2024. 1. 31. 23:35

오늘 배운 것 및 개발 과정

트러블 슈팅을 간략하게 격어보자면

  • npc와 상호작용 과정에서 빈자리와 플레이어의 상호작용이 안되는 문제 : Collider와 Rigidbody에 대한 이해 부족으로 발생되었다.충돌을 탐지하기 위해선 두 오브젝트에 Collider 컴포넌트가 둘 다 존재해야 하고, Rigidbody 컴포넌트는 둘 중 하나가 가지고 있거나 둘 다 가지고 있어야 한다. 직접적으로 충돌 후 접촉할 수 있는 건 플레이어와 npc 이므로 둘 다 Rigidbody를 가지고 있어야 한다.
  • 다른 오브젝트의 컴포넌트와 연결하는 것이 잘 안되었을 때 : 충돌을 하는 조건을 다시 한번 확인하였다. npc와 충돌이 일어나기 위한 경우는 다음과 같다.
    • npc의 오브젝트 이동 중에는 상호작용이 꺼저있어야 하고, 빈자리 오브젝트와 충돌 시 상호작용이 켜져있어야 한다.
    • 상호작용이 일어날 때, 시간 제한이 있으며 시간 안에 주어진 목표를 달성하거나 실패시 상호작용은 꺼진다.
    • 꺼진 상태에 따라 자가 파괴를 위해 목표를 바꾸고 이동 후 자가 파괴되도록 실시한다.
  • 음식의 메뉴 변수의 초기화가 잘못 되었을 때 : 이것은 문법적 실수다. 먼저 변수 선언 및 초기화를 동시에 이룰 수 있는 건 정수, 부동 소수점, 부울(int, float, bool) 타입의 값 타입들이 가능하다. 메뉴를 위해 넣을 string 타입은 참조 타입으로 선언과 초기화를 동시에 할 수 없다. 둘 다 할 시에 값이 inspector 창에 변수의 값 입력이 안되어 있는 것을 확인할 수 있다. 참조 타입을 초기화 하려면 Awake()와 Start()의 이벤트 함수에서 초기화를 해줘서 값을 할당해야 한다.

하루 마무리 및 내일 할 것

솔직히 말하자면 저번주 금요일부터 말하지 못할 개인적으로 힘든 일들이 많았었고 정신이 너무나 흔들리고 깨질거 같은 정신적 고통에 좀 시달렸다. 그러나 이 최종 프로젝트는 혼자서 하는게 아닌 팀원들과 하는 일이고, 목표가 있다. 절대로 민폐끼치지 않도록 내가 맡은 일을 이루어 내거나, 만약 안된다 싶으면 양해를 부탁드리며 반드시 도움을 요청하자. 그래야 인간 관계 및 사회 생활은 비록 어려울 수 있지만 이해를 해줄 수 있는 밝은 면도 있을테니까.