onlybooks / gamemath

<이득우의 게임 수학> 공식 깃허브 페이지
MIT License
179 stars 75 forks source link

9-1c 예제 구동에서 카메라의 이동에 대한 질문입니다... #12

Open duicleme opened 2 years ago

duicleme commented 2 years ago

9-1c 에서 카메라 개념이 처음 나오는데요.....

100개의 오브젝트와 Player 가 있습니다..

Player를 움직이면 카메라는 조금 천천히 따라오듯이 움직입니다...

Time Delay 가 있는데요....정말 멋있습니다..... 이것은 어떻게 구현되어 있는 건지 잘 모르겠습니다.

조금의 부연 설명을 듣을 수도 있을까요???

ideugu commented 2 years ago

안녕하세요. 답변이 늦었네요.

if ((playerPos - cameraPos).SizeSquared() < minDistance minDistance) { cameraTransform.SetPosition(playerPos); } else { float ratio = Math::Clamp(lerpSpeed InDeltaSeconds, 0.f, 1.f); Vector2 newCameraPos = cameraPos + (playerPos - cameraPos) * ratio; cameraTransform.SetPosition(newCameraPos); }

위 코드에서 else 부분의 로직이 카메라의 위치를 플레이어의 위치로 한 템포 늦게 설정합니다.

duicleme commented 2 years ago

아... .ratio 가 따로 계산 되는 군요..