TIL

[멋쟁이사자처럼 부트캠프 TIL회고] 56일차 : 버그 수정과 구상

Cadi 2025. 1. 14. 17:28

 

 

 

버그 수정

 

//원래 코드 
//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. 클릭한 방향으로 프리팹들을 던져 충돌하는 순간 오브젝트의 벽면에 부착되게 함
  3. 클릭받은 오브젝트가 그 주변으로 프리팹을 생성

 

1번은 클릭한 위치의 주변으로 프리팹이 생성되기때문에, 물체의 굴곡이나 각진 부분이 표현되지 않았다.

 

2번은 좋은 방법이었으나 ,프리팹이 30개가 넘어가는데 계속해서 던진다면 성능 저하가 있을 것 같았다.

또한 즉시 생성되는 느낌을 주고싶었다, 무언가가 날라가는 잔상이 남는 방법이라면 나쁘지 않을 것 같다.

예를 들어 초음파...라던가.. ? 

 

3번은 비록 한 번에 완전 각진 면을 표현하지는 못하지만, 제일 효율적인 방법이었다. 

다음은 완성된 영상이다. 

 

 

흠...뭔가 잘 ... 활용하면 가능할 것 같기도... 하고..

 

게임 구상

 

지금까지 구현한 것들로 엄청 작은 게임을 하나 만들어 볼까 한다.

아마 공포 게임이 될 것 같다. 

일단은... 도전해봐야지, 코드 부분 뿐만 아니라 비주얼적인 부분에서 아직 도전해보지 않은 기능이 너무 많아서 ㅎㅎㅎㅎ

 

오늘은 역대급으로 공부가 되지 않는 날이었다. 그러니까 멋사 1/3 후기나 작성하고, 저녁에 나머지 공부를 해야지.