45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
public class CameraController : MonoBehaviour
|
|
{
|
|
[Header("Follow Camera Settings")]
|
|
[SerializeField]
|
|
Define.CameraMode _cameraMode = Define.CameraMode.QuarterView;
|
|
[SerializeField]
|
|
Vector3 _position = new Vector3(0.0f, 15.0f, -7.0f);
|
|
[SerializeField]
|
|
float _verticalFraming = 0.0f; // 음수일 수록 밑으로
|
|
|
|
[Header("Target Settings")]
|
|
[SerializeField]
|
|
GameObject _player = null;
|
|
[SerializeField]
|
|
// 카메라가 플레이어 캐릭터의 발에서 이정도 위치만큼 이동한 곳의 위치를 바라보도록 한다.
|
|
Vector3 _lookAt = new Vector3(0.0f, 0.0f, 0.0f);
|
|
|
|
|
|
void Start()
|
|
{
|
|
}
|
|
|
|
private void LateUpdate()
|
|
{
|
|
switch (_cameraMode)
|
|
{
|
|
case Define.CameraMode.QuarterView:
|
|
// if (_playerController.IsAttack) return; // 여기 공격 넣어서 하는거 확인하기
|
|
Vector3 lookAtPos = _player.transform.position + _lookAt;
|
|
transform.position = _player.transform.position + _position;
|
|
transform.LookAt(lookAtPos);
|
|
transform.Rotate(Vector3.right, _verticalFraming, Space.Self);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|