본문 바로가기

유니티 스파르타 캠프 4주차

25-05-02 Vector.Lerp와 깃허브 커밋

Vector.Lerp는 (이전 값, 이후 값, 비율) 이루어져 있으며, 비율은 (0~1)로 그 값을 넣어주면 적은 값을 지속적으로 Update하기에 움직이기에 부드러운 움직임이 가능해집니다. Mathf.Lerp로도 똑같은 역할을 합니다. 

위 예제에서는 velocity에 가해주는 속도의 양이 조절되어 있기에 따로 Lerp를 쓰진 않았습니다. angle이 핵심인데 Mathf.Clamp를 통해 각도의 크기를 최대치 이상으로 넘어가지 않도록 조절하고, Mathf.Lerp를 통해 그 값이 극단적으로 움직이지 않도록 조절했습니다. 이 angle은 float 값이기에 0.05를 곱한 값과 똑같이 움직일 것이라 예상은 되지만, +값이나 -값을 구분하기 위한 if문을 넣는 것보다는 이전 이후를 비교하는 코드를 짤 때에는 나쁘지 않게 쓸 수 있을 거 같습니다. Quaternion.Euler은 넣은 값을 그대로 rotation에는 넣어주지만, 유니티에 각도는 쿼터니언, 4개의 실수로 구성되어 있기에 그것을 3개의 값으로 재구성한다고 생각하면 쉬울 거 같습니다. 

또한 Vector와 관련된 이야기를 좀 더 다뤄보자면, normalized를 사용하지 않으면 대각선을 이동할 때, 속도가 더 증가한다거나 하는 문제가 있기에, 지정해주면 대각선도 비슷한 속도로 이동할 수 있도록 재조정하게 됩니다.

그리고 깃허브 커밋은 수정이 불가능합니다. 튜터님께서 피드백을 위해 자료를 최신화하여 공유해달라고 하셔서 내용을 급하게 보내느라 커밋을 일단 적고 보냈는데.. 추가한 커밋은 따로 수정이 불가능하기 때문에 한 번 올릴 때 잘 올려야합니다. 이에 대한 해결법으로 이후에 추가적인 내용을 아무런 텍스트를 하나 추가하고 적은다음에 넣고 작업하다가 넣은 텍스트를 다시 제거하며 커밋하는 방식을 사용하면 좋을듯 합니다.