public void CamUpdate(Transform tr)
{
tr.eulerAngles = new Vector3(0, XAngle, 0);
cameraTR.localEulerAngles = new Vector3(YAngle, 0, 0);
float tempAngle = (YAngle + MathF.Abs(angleYMin)) / halfYAbsSum;
tempAngle -= 1;
cameraTR.localPosition = defaultPos - GetCircle(tempAngle);
XAngle += mouseSens * Input.GetAxis("Mouse X");
YAngle -= mouseSens * Input.GetAxis("Mouse Y");
}
/*
/// <summary>
/// 프로토타입 카메라
/// </summary>
/// <param name="tr">플레이어 y축 회전을 위한 TR</param>
public void CamUpdate(Transform tr)
{
tr.eulerAngles = new Vector3(0, XAngle, 0);
cameraTR.localEulerAngles = new Vector3(YAngle, 0, 0);
XAngle += mouseSens * Input.GetAxis("Mouse X");//특정 각도 이상 허용하지 않는 프로퍼티값
YAngle -= mouseSens * Input.GetAxis("Mouse Y");
}*/
public Vector3 GetCircle(float a)
{
return new Vector3(0, Mathf.Tan(-a)* 1.2f, Mathf.Cos(a));
}

기존에 가지고있던 문제
카메라의 움직임 없이 회전값만을 사용하였기에
카메라 회전시 플레이어가 시야에서 사라져버리는 문제가 발생하였다.카메라 개선 방향
- YAngle에 따라 카메라의 localY와 localZ에 관여할 것
- Angle에 비례하는 궤적을 그릴것
- 가장 중요한 플레이어 캐릭터가 눈에 들어올 것
해결방안1(폐기)
YAngle/(최소,최대각도 합)
ZAngle/(최소,최대각도 합)
궤적은 일정하나 z측의 커브가 제대로 작동하지 않아 폐기
해결 방안2(최종)
Cosine 함수는 곡선을 그리기에 Z측에 대입하면 각도가 위로 갈수록 캐릭터의 정수리가 중앙으로 오도록 하는
TPS 카메라 이동에 적용하기 좋겠다는 생각이 들었다.
문제는 Y측이었는데 사인 코사인은 감소와 증가로 인해 y측에 적용하기엔 불가능했고
증가하나 증가폭이 줄어드는 탄젠트 함수가 적절하다 느껴져 사용하게 되었다.
Text RPG 팀과제가 시작되었다.
우리게임의 특징과 FSM을 연계해서 작성해야 하는데 구조에 대한 걱정이 많아
일단 다이어그램을 먼저 설계해보고 작업 할 것 같다.