I THINK IT FINALLY WORKS

This commit is contained in:
2025-04-02 09:34:18 +01:00
parent 140cbd646f
commit b9e55dd79c
3 changed files with 7 additions and 20 deletions

View File

@@ -9,8 +9,7 @@ public class GravityController
const float m_GravityScale = -20.0f; const float m_GravityScale = -20.0f;
// Private constructor to stop accidental creation // Private constructor to stop accidental creation
private GravityController() private GravityController() { }
{ }
public static GravityController Instance() public static GravityController Instance()
{ {

View File

@@ -43,9 +43,11 @@ public class PortalCamera : MonoBehaviour
// Update is called every frame // Update is called every frame
void Update() void Update()
{ {
Vector3 offset = m_CapturePortal.PlayerOffset(); // Gets the offset of the player from the display portal
transform.parent.position = offset; Vector3 offset = m_DisplayPortal.PlayerOffset();
transform.parent.position = m_CapturePortal.TranslateOffsetToSpace(m_DisplayPortal.PlayerOffset(), Vector3.zero); // Translates it to the capture portal and assigns it to the camera position
Transform t = m_CapturePortal.transform.parent;
transform.parent.position = (t.position) + (-t.forward * offset.z) + (t.up * offset.y) + (-t.right * offset.x);
} }
} }

View File

@@ -18,13 +18,7 @@ public class PortalManager : MonoBehaviour
PortalCamera m_PortalCamera; PortalCamera m_PortalCamera;
public PortalManager Linked() => m_OtherManager; public PortalManager Linked() => m_OtherManager;
public Vector3 PlayerOffset() => m_PlayerPoint.localPosition;
public Vector3 pos => transform.parent.position;
public Quaternion rot => transform.parent.rotation;
public void SetPos(Vector3 v) => transform.parent.position = v;
public Vector3 PlayerOffset() => m_PlayerPoint.position;
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
@@ -50,12 +44,4 @@ public class PortalManager : MonoBehaviour
{ {
m_PlayerPoint.position = CameraController.Instance().transform.position; m_PlayerPoint.position = CameraController.Instance().transform.position;
} }
public Vector3 TranslateOffsetToSpace(Vector3 pos, Vector3 euler)
{
m_Rot.localEulerAngles = euler;
m_Pos.localPosition = pos;
return m_Pos.position;
}
} }