mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-02 06:19:22 +00:00
added scale modifier
ThirdPerson distance now uses avatar height as modifier, so you keep the same distance across avatars & while scaling.
This commit is contained in:
parent
5c0e8a2ff4
commit
0dae699932
2 changed files with 16 additions and 8 deletions
|
@ -14,6 +14,7 @@ namespace NAK.ThirdPerson;
|
|||
internal static class CameraLogic
|
||||
{
|
||||
private static float _dist;
|
||||
private static float _scale = 1f;
|
||||
private static Camera _ourCam;
|
||||
private static Camera _desktopCam;
|
||||
private static CameraFovClone _cameraFovClone;
|
||||
|
@ -64,7 +65,7 @@ internal static class CameraLogic
|
|||
ThirdPerson.Logger.Msg("Finished setting up third person camera.");
|
||||
}
|
||||
|
||||
internal static void CopyFromPlayerCam()
|
||||
internal static void CopyPlayerCamValues()
|
||||
{
|
||||
Camera ourCamComponent = _ourCam.GetComponent<Camera>();
|
||||
Camera playerCamComponent = PlayerSetup.Instance.GetActiveCamera().GetComponent<Camera>();
|
||||
|
@ -153,23 +154,23 @@ internal static class CameraLogic
|
|||
switch (location)
|
||||
{
|
||||
case CameraLocation.FrontView:
|
||||
_ourCam.transform.localPosition = new Vector3(0, 0.015f, 0.55f - _dist);
|
||||
_ourCam.transform.localPosition = new Vector3(0, 0.015f, 0.55f - _dist) * _scale;
|
||||
_ourCam.transform.localRotation = new Quaternion(0, 180, 0, 0);
|
||||
CurrentLocation = CameraLocation.FrontView;
|
||||
break;
|
||||
case CameraLocation.RightSide:
|
||||
_ourCam.transform.localPosition = new Vector3(0.3f, 0.015f, -0.55f + _dist);
|
||||
_ourCam.transform.localPosition = new Vector3(0.3f, 0.015f, -0.55f + _dist) * _scale;
|
||||
_ourCam.transform.localRotation = new Quaternion(0, 0, 0, 0);
|
||||
CurrentLocation = CameraLocation.RightSide;
|
||||
break;
|
||||
case CameraLocation.LeftSide:
|
||||
_ourCam.transform.localPosition = new Vector3(-0.3f, 0.015f, -0.55f + _dist);
|
||||
_ourCam.transform.localPosition = new Vector3(-0.3f, 0.015f, -0.55f + _dist) * _scale;
|
||||
_ourCam.transform.localRotation = new Quaternion(0, 0, 0, 0);
|
||||
CurrentLocation = CameraLocation.LeftSide;
|
||||
break;
|
||||
case CameraLocation.Default:
|
||||
default:
|
||||
_ourCam.transform.localPosition = new Vector3(0, 0.015f, -0.55f + _dist);
|
||||
_ourCam.transform.localPosition = new Vector3(0, 0.015f, -0.88f + _dist) * _scale;
|
||||
_ourCam.transform.localRotation = new Quaternion(0, 0, 0, 0);
|
||||
CurrentLocation = CameraLocation.Default;
|
||||
break;
|
||||
|
@ -179,4 +180,5 @@ internal static class CameraLogic
|
|||
private static void ResetDist() => _dist = 0;
|
||||
internal static void IncrementDist() { _dist += 0.25f; RelocateCam(CurrentLocation); }
|
||||
internal static void DecrementDist() { _dist -= 0.25f; RelocateCam(CurrentLocation); }
|
||||
internal static void AdjustScale(float height) { _scale = height; RelocateCam(CurrentLocation); }
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue