구현하기 위한 방법으로 두 명이 결은 비슷하지만 다른 방법을 사용했다.
현재 Character Contorller 컴포넌트를 사용하여 조종하기 때문에 일반적인 OnCollisionEnter는 사용하지 못하고, OnControllerColliderHit를 사용하여야 한다.
ControllerColliderHit hit를 반환하며 그 속성에는
이 정도가 있다.
이 중 point는 Character Contorller의 콜라이더가 충돌한 지점을 말하며,
hit.Collider.Bounds 속성을 체크하면 충돌한 오브젝트의 경계 데이터를 가져올 수 있다.
이 두가지를 이용하여 오브젝트 상단으로부터 일정 길이 이내에 Point가 존재할 때 벽을 기어 오르는 동작을 구현하는 방법을 생각해보았다.
다른 방법은 Bounds와 RayCast를 함께 사용하는 방법이다. 위에 서술한 방법과 맥락은 비슷하나, 정확도 면에 있어서 캡슐 콜라이더를 바탕으로 하는 앞선 방식보다 탁월하다 보여진다. 또한 충분히 오를 수 있는 언덕임에도 레이를 한 곳에서만 사용하면 원하는 구성이 되지 않을 수도 있어 몸의 여러 지점에서 발사하여 RayCast hit.bounds.max로 hit한 지점과 Max지점의 거리를 계산하여 올라가는 동작을 구현하였다.
프로젝트 제목, 프로젝트 소개, 작업 기간, 작업 인원, 담당 파트, 이미지 및 영상, 진행 플로우
작업 기간, 인원을 명시하여 상황을 알아볼 수 있도록 해주는 것이 좋다.
개발 부분 제목 및 설명 - 설명을 통해 어떤 내용인지 전달하여 코드 이해가 더 잘되도록 유도
담당 파트의 시각적인 이미지 - 구현 내용이 어떻게 보일지 시작적으로전달하여 어떤 기능인지 알게해주자
개발부분에 대한 기술적인 내용 - 중요(어떻게 만들었는지 혹은 계획했는지 생각을 전달)
코드내용 첨부, 클래스 다이어그램, 시퀸스 다이어그램, 플로우차트, 인스펙터 구조
기술을 적용한 의도 / 생각 - 왜 기술을 적용했는지 나의 의견을 전달
어떠한 장점때문에 선정했는지, 무슨 문제를 해결하기 위해 사용했는지,
-자료 구조 선정이유, 디자인패턴 적용 이유, 오브젝트 풀링을 왜 썼는지 등등