Find distance within screen!

Hey Guys i’ve been trying to get a code that can get X axis between the left to right well its hard to explain I will show picture

9934-untitled.png

So i need the distance between A and B but that variates on the size of the screen could you guys help me out
thank you already

You can use Camera.ViewportToWorldPoint(). Viewport coordinates go form (0,0) in the lower left to (1,1) in the upper right. The ‘Z’ parameter will be the distance from the camera into the scene. So lets assume you are talking the middle of the screen 10 units from the camera:

var v1 = Camera.main.ViewportToWorldPoint(Vector3(0,0.5,1));
var v2 = Camera.main.ViewportToWorldPoint(Vector3(1,0.5,1));
var dist = Vector3.Distance(v1,v2);][1]

You’ll need to raycast from the screen to world. Put a plane that’s billboarded to the camera (there are scripts for this) and you can turn off its mesh renderer so it’s invisible but add a collision plane so that the raycast hits something. That will give you the coordinate at which the raycast hits that plane.

Do one raycast for 0,0 and one at screenWidth, screenHeight.

Place objects accordingly.

Another option, if you want the objects to always have the same scale is to just parent them in the proper location to the camera. You’ll still have to do a raycast initially as described above, but then just parent the result to the camera and put the raycast catching plane at whatever distance is right for the scale you want.