Random Spawning using Camera in Perspective view.

Hey people,
I Have been trying out an assignment. A 2D game with camera that has Orthographic view wherein i have the player object at the left of the screen and the enemy being randomly spawned at the right of the screen. To spawn the enemies i used the ViewportToWorldPoint function.
The Problem is when i am trying to spawn the same enemies with the camera but in the “Perspective” View. I am not sure as to which function i have to use to achieve this… Is there any way this can be done? The code i use to spawn Enemies is:
21834-doubt.png

The difference between a Orthographic view and Perspective view is that in a perspective view, width and height you see is different depending on the distance from the camera. Imagine looking out the window. Expanse you see in the distance is much larger than the expanse you see up close. So for a perspective camera, you need to specify at what distance from the camera you want to convert from Viewport to Screen coordinates.

So to fix your code above, you need to set the ‘z’ parameter of the point you pass to the distance in front of the camera:

vector3 point = new Vector3(1.0f, Random.Range(0.0f, 1.0f), distanceInFrontOfCamera);
point = Camera.main.VeiwportToWorldPoint(point);