[멋쟁이사자처럼 부트캠프 TIL회고] 56일차 : 버그 수정과 구상
버그 수정
//원래 코드
//cameraTransform.rotation = Quaternion.Euler(eulerAngleX, eulerAngleY, 0f);
transform.rotation = Quaternion.Euler(0f, eulerAngleY, 0f); // 플레이어 회전
cameraTransform.localRotation = Quaternion.Euler(eulerAngleX, 0f, 0f); // 카메라 회전
원래 코드의 문제는 , 지금 캡슐의 자식 오브젝트로 카메라가 들어가 있기 때문에 어딘가에 충돌했을 경우
자동으로 camerTransform.rotation이 0,0,0 상태에서 벗어나게 된다.
float mouseX = lookInput.x * mouseSensitivity;
float mouseY = lookInput.y * mouseSensitivity;
// 위 아래 회전은 'X축을 고정한 채로 회전'하는 방향
// 더해서 회전이 -가 되어야 위로 회전하므로 입력을 반대로 해주어야 함
eulerAngleX -= mouseY;
// 양 옆 회전은 'Y축을 고정한 채로 회전'하는 방향
eulerAngleY += mouseX;
우리는 지금, 이 기본 로테이션에 마우스의 입력 값을 더해주고 있는 것이므로 기본 eulerAngle값이 바뀌어 버리면
돌아가는 것처럼 보이게 된다. 그래서 카메라의 회전이 부모 오브젝트의 rb값으로부터 영향을 받지 않는 방향으로 바꾸었다.
보이지 않는 길 찾기
렌더링을 꺼 둔 오브젝트를 클릭했을 때 그 오브젝트의 모양이 보이게 하기 위해서 다양한 방법을 시도해봤다.
- 클릭한 위치에 프리팹을 생성
- 클릭한 방향으로 프리팹들을 던져 충돌하는 순간 오브젝트의 벽면에 부착되게 함
- 클릭받은 오브젝트가 그 주변으로 프리팹을 생성
1번은 클릭한 위치의 주변으로 프리팹이 생성되기때문에, 물체의 굴곡이나 각진 부분이 표현되지 않았다.
2번은 좋은 방법이었으나 ,프리팹이 30개가 넘어가는데 계속해서 던진다면 성능 저하가 있을 것 같았다.
또한 즉시 생성되는 느낌을 주고싶었다, 무언가가 날라가는 잔상이 남는 방법이라면 나쁘지 않을 것 같다.
예를 들어 초음파...라던가.. ?
3번은 비록 한 번에 완전 각진 면을 표현하지는 못하지만, 제일 효율적인 방법이었다.
다음은 완성된 영상이다.
흠...뭔가 잘 ... 활용하면 가능할 것 같기도... 하고..
게임 구상
지금까지 구현한 것들로 엄청 작은 게임을 하나 만들어 볼까 한다.
아마 공포 게임이 될 것 같다.
일단은... 도전해봐야지, 코드 부분 뿐만 아니라 비주얼적인 부분에서 아직 도전해보지 않은 기능이 너무 많아서 ㅎㅎㅎㅎ
오늘은 역대급으로 공부가 되지 않는 날이었다. 그러니까 멋사 1/3 후기나 작성하고, 저녁에 나머지 공부를 해야지.