오늘은 프로젝트를 임시로 마무리하는 작업을 진행했다.
2달동안 달려온 결과 아쉽게도 스테이지는 많이 확장하지는 못하였다. 지금은 총 12개의 별자리 그리고 각 별자리에 6개의 스테이지가 존재해야하지만 1개의 별자리는 완성 그리고, 두 번째 별자리는 1개의 스테이지만 완성된 상태로 마무리를 해야할 것 같다.
아쉬운 부분으로는 각각의 스테이지에 퍼즐을 배치하며, 어떻게 스테이지를 클리어 할지를 고민하며 만들어야 되는 상황이여서 절차적 맵 생성을 하지 못한 부분은 아쉽기도 하고 시간이 많이 소요되어서 아쉬운 마음이 든다.
그래서 오늘은 브로셔작성과 맵 꾸미기를 마무리하였고, 잔잔바리 버그를 고쳤다.
움직이는 발판에서 문제가 있었다.
발판은 콜라이더로 enter, exit으로 인식을 하고 있었다. 근데 플레이어가 물체를 들면 플레이어 오브젝트의 자식으로 들어가게 되는데 이때 물체가 플레이어 닿게 되어 밀려나는 문제가 있어서, 물체의 콜라이더를 끄고 키네마틱을 켜주었다. 이렇게 하니 발판에 인식하는 콜리젼exit에서 콜라이더가 사라져 인식이 안되는 문제였다.
이를 해결할 많은 방법이 있었지만, 내가 생각한 방법은 물체를 들면 그 물체가 플레이어에 닿아 밀리는 현상이니 물체의 콜라이더를 잠시 작게 만드는 것이였다.
그리고 잡은 물체의 콜라이더에 접근하여 사이즈를 반정도로 줄여주고, 놓는 부분에서 다시 원래 사이즈로 만들어 주었다. 이렇게 하니 일단은 해결!
BoxCollider col = obj.GetComponent<BoxCollider>();
if (col != null && isKinematic)
{
col.size = new Vector3(0.5f, 0.5f, 0.5f);
}
else if(col != null && !isKinematic)
{
col.size = new Vector3(1,1,1);
}
위 처럼 콜라이더 사이즈 조절로 해결하였다.
오늘은 이 정도 버그만 고쳤고, 나머지는 맵을 꾸미고 배치하고, 브로셔 등등 작업에 시간을 많이 쏟은것 같다. 프로젝트 쉽지 않군!