Hi!
I wanna do limit of movement player which is dependent on camera view. Game is 2D, camera is static and only player can move, but i want to limit this move to camera view. Is in Unity a way to do this? Some function or something which can steer me on this? ![]()
I suggest something like this:
class Player : MonoBehaviour
{
private float minX, maxX, minY, maxY;
public Camera gameCamera
public void Start()
{
CalculateBounds();
}
public void Update()
{
// Make player logic
Vector3 position = transform.position.x;
position.x = Mathf.Min(maxX, Math.Max(minX, position.x));
position.y = Mathf.Min(maxY, Math.Max(minY, position.y));
transform.position = position;
}
private void CalculateBounds()
{
minX = gameCamera.transform.position.x - gameCamera.aspect*gameCamera.ortographicSize;
maxX = gameCamera.transform.position.x + gameCamera.aspect*gameCamera.ortographicSize;
minY = gameCamera.transform.position.x - gameCamera.ortographicSize;
maxY = gameCamera.transform.position.x + gameCamera.ortographicSize;
}
}
Thank so much, itβs working ![]()