- Home /
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:
Answer by robertbu · Feb 07, 2014 at 06:55 PM
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);
Thanks a lot...... it worked once the z parameter of the point was set .
Your answer
Follow this Question
Related Questions
How to find world coordinates of screen corners with a camera angle 2 Answers
New gameobject to spawn in front of editor camera?, 1 Answer
Calculate distance at which an object occupies 0 pixels, given bounding sphere? 1 Answer
Having Trouble with Instantiating an object on an axis 2 Answers
How to spawn players ? 0 Answers