728x90
반응형
player와 카메라의 좌표를 일대일 대응시킨다면 편하겠지만 그렇게 자연스럽지 않을 것이다.
그렇기에 나는 카메라 중심에서 어느정도 떨어졌고 더 떨어지는 방향으로 이동할 때에만
카메라와 player의 위치를 일대일 대응시켰다.
카메라의 position이 Vector3 변수인 camera.position에 player의 position이 Vector3 변수인 player.position에 저장되있고
각각의 velociry를 각각의 .velocity에 저장되있다고 하면
1
2
3
4
5
|
if (camera.position.x - player.position.x >= 3 && player.velocity.x < 0) transform.position += new Vector3(player.position.x + 3 - camera.position.x, 0, 0);
if (camera.position.x - player.position.x <= -3 && player.velocity.x > 0) transform.position += new Vector3(player.position.x - 3 - camera.position.x, 0, 0);
if (camera.position.y - player.position.y >= 3 && player.velocity.y < 0) transform.position += new Vector3(0, player.position.y + 3 - camera.position.y, 0);
if (camera.position.y - player.position.y <= -3 && player.velocity.y > 0) transform.position += new Vector3(0, player.position.y - 3 - camera.position.y, 0);
|
cs |
위 코드에 의해서 아래와 같은 카메라 움직임을 볼 수 있다.
728x90
반응형
'Unity > 2D RPG' 카테고리의 다른 글
회복 아이템 by Unity (0) | 2021.07.18 |
---|---|
캐릭터(슬라임) by Unity (0) | 2021.07.18 |
원거리 공격 by Unity (0) | 2021.07.14 |
근접 공격 by Unity (0) | 2021.07.07 |
유닛 이동 by Unity (0) | 2021.07.07 |