using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FollowCam : MonoBehaviour
{
[SerializeField]
private Transform playerTrans;
[SerializeField]
private Transform point;
[SerializeField]
private float distance = 10.0f;
[SerializeField]
private float height = 2.0f;
[SerializeField]
private float upSpeed = 1.0f;
[SerializeField]
private float rotateX = 1.0f;
private Vector3 tpos;
// Start is called before the first frame update
void Start()
{
}
//Update메서드 이후
private void LateUpdate()
{
//this.transform.position = this.playerTrans.position;
//연습
float wheel = Input.GetAxis("Mouse ScrollWheel");
if(wheel > 0) //마우스 휠을 위로 올렸을 때
{
this.distance -= 0.5f;
this.tpos = this.playerTrans.position + this.playerTrans.forward * -1 * this.distance;
this.tpos = this.tpos + Vector3.up * height;
this.transform.localRotation = Quaternion.Euler(rotateX, 0, 0);
this.transform.position = this.tpos;
this.transform.LookAt(this.tpos);
}
else if (wheel < 0)
{
//마우스 휠을 아래로 내렸을 때
this.distance += 0.5f;
this.tpos = this.playerTrans.position + this.playerTrans.forward * -1 * this.distance;
this.tpos = this.tpos + Vector3.up * height;
this.transform.localRotation = Quaternion.Euler(rotateX, 0, 0);
this.transform.position = this.tpos;
this.transform.LookAt(this.tpos);
}
else
{
this.tpos = this.playerTrans.position + this.playerTrans.forward * -1 * this.distance;
this.tpos = this.tpos + Vector3.up * height;
this.transform.localRotation = Quaternion.Euler(rotateX, 0, 0);
this.transform.position = this.tpos;
this.transform.LookAt(this.tpos);
}
}
}
카메라가 지정된 위치에서만 줌인 줌아웃이 된다.
'유니티 심화' 카테고리의 다른 글
Lerp, 줌인, 줌아웃, LookAt, 카메라 팔로잉 (0) | 2023.08.17 |
---|---|
Vector (0) | 2023.08.17 |
Lerp (0) | 2023.08.17 |
카메라 세팅 (0) | 2023.08.17 |
Joystick, 앞 뒤 왼 오 애니메이션, 마우스 드래그해서 시야 옮기기 (0) | 2023.08.17 |