도드넷
게임 개발 일지#11 - 유니티 마우스 스크롤 마우스 화면 카메라 움직임 시스템 본문
게임 개발 일지#11
- 유니티 마우스 화면 카메라 움직임 시스템
#1 유니티 마우스 스크롤시 카메라 화면 확대 줌 하는 방법
if (Input.GetAxis("Mouse ScrollWheel") > 0f) // forward
{
Debug.Log("Scroll Push");
Current_Cam_Zoom_Speed = 0.10f;
}
else if (Input.GetAxis("Mouse ScrollWheel") < 0f) // backwards
{
Debug.Log("Scroll Drag");
Current_Cam_Zoom_Speed = -0.10f;
}
if (Current_Cam_Zoom_Speed != 0)
{
Current_Cam_Zoom_Speed = Current_Cam_Zoom_Speed * 0.90f;
if (Mathf.Abs(Current_Cam_Zoom_Speed) < 0.001)
{
Current_Cam_Zoom_Speed = 0;
}
}
Current_Cam_Size = Current_Cam_Size - Current_Cam_Zoom_Speed;
// 제한걸기
Current_Cam_Size = Mathf.Clamp(Current_Cam_Size, MinSize, MaxSize);
// 카메라 크기 설정
Camera.main.orthographicSize = Current_Cam_Size;
Input.GetAxis("Mouse ScrollWheel") > 0f 스크롤 업(PUSH)
Input.GetAxis("Mouse ScrollWheel") < 0f 스크롤 다운(DRAG)
카메라 줌할때 약간 속도라고 해야하나 그런게 존재하는데 (롤 참고)
그거 구현하려면 줌 순간 속도를 주고 1/60초 마다 10% 씩 감소시킴.
그런데 % 감소는 절대로 0에 도달할수없으므로 0.001 이하로 충분히 느려지면 0 멈춰지게 만듬.
그리고 Mathf.Clamp 는 어떤 수를 범위안에서 제한하는 역할을 함. 만약 해당수가 최대값을 초과하면 최대값으로 fix되고 최솟값 아래로 떨어지면 최솟값으로 fix됨. 그사이에 적당한 수면 유지됨.
#2 카메라 캐릭터에 고정하는 방법
카메라에 고정할 게임 오브젝트 불러와서 게임오브젝트 위치를 카메라 위치에 대입시키면 됨.
너무 간단하고 미완이라 코드 안올림.
#3 유니티 화면 경계도달시 카메라 이동하는 방법
ScreenHeight = Screen.height;
ScreenWidth = Screen.width;
...
if (!Fixed_To_Char && Input.mousePosition.x > ScreenWidth - boundary)
{
Debug.Log("▶");
Vector3 newvec;
newvec = This_Trasnform.position;
newvec.x = newvec.x + XY_Speed;
This_Trasnform.position = newvec;
}
if (!Fixed_To_Char && Input.mousePosition.x < 0 + boundary)
{
Debug.Log("◀");
Vector3 newvec;
newvec = This_Trasnform.position;
newvec.x = newvec.x - XY_Speed;
This_Trasnform.position = newvec;
}
마우스가 화면 끝에 도달하면 카메라를 이동시키는 탑다운 게임에서 흔히 볼수있는 카메라 시스템
화면의 너비와 높이 구해서 마우스 위치가 바운더리 먹인 위치를 초과하면 설정한 스피드만큼 화면의 위치를 조정함.
내 게임은 탑다운이지만 횡스크롤이라 X 이동만 하는상태.
'창고 > 게임 제작 [시즌2]' 카테고리의 다른 글
김프로 풀, 흙 그리는 팁 (0) | 2016.10.14 |
---|---|
게임 개발 일지#10 - 유니티 체력바를 만들어보자 + 쉴드 매커니즘 (1) | 2016.10.11 |
게임 개발 일지#9 - 유니티 2D 미사일 투사체 원거리 공격! (1) | 2016.10.10 |
게임 개발 일지#8 - 유니티 공격 시스템 (0) | 2016.10.10 |
게임 제작 일지#7 - 유니티 네비게이션 2D 패스 파인딩 길찾기!! (2) | 2016.10.07 |