충돌, 레이캐스팅, 레이어, 카메라 기능 구현

This commit is contained in:
2026-01-22 02:50:47 +09:00
parent 2eee8e2ab2
commit 16497ffc6e
18 changed files with 1052 additions and 135 deletions

View File

@@ -0,0 +1,40 @@
using UnityEngine;
public class CameraController : MonoBehaviour
{
[SerializeField]
Define.Cameramode _mode = Define.Cameramode.QuaterView;
[SerializeField]
Vector3 _delta = new Vector3(0.0f, 6.0f, -5.0f);
[SerializeField]
GameObject _player = null;
void Start()
{
}
void LateUpdate()
{
if (_mode == Define.Cameramode.QuaterView)
{
RaycastHit hit;
if(Physics.Raycast(_player.transform.position, _delta, out hit, _delta.magnitude, LayerMask.GetMask("Wall")))
{
float dist = (hit.point - _player.transform.position).magnitude * 0.8f;
transform.position = _player.transform.position + _delta.normalized * dist;
}
else
{
transform.position = _player.transform.position + _delta;
transform.LookAt(_player.transform);
}
}
}
public void SetQuaterView(Vector3 delta)
{
_mode = Define.Cameramode.QuaterView;
_delta = delta;
}
}