How to convert the world co-ordinate to the co-ordinates that I can use on screen?
I have a game object that is in world space and when I use transform.position it returns me the world co-ordinates. I need to make another game object that appears on top of this in the screen. How to achieve this? I have tried doing this:
obj2.transform.position = Game.UI.UICamera.WorldToViewportPoint(obj1.transform.position);
Since using WorldToScreenPoint was returning pixel values and I was not sure how to use it. I am relatively new to Unity.
Answer by ericbegue · Jun 04, 2016 at 08:43 PM
This is the correct approach. I didn't word the question properly though. The answer I needed was for the question "How to get the world co-ordinates for a game object in the UI camera and convert to world co-ordinate position within the screen?". Even for this question this is the right approach. Thanks. I will add my answer just in case someone needs it in future.
Answer by srinivasv1992 · Jun 06, 2016 at 12:33 PM
As mentioned in the previous answer's comment I wanted to get the on screen co-ordinate position for a gameobject appearing in the UI camera. To achieve this as other answer suggested, I used
Vector3 tempPoint = Game.UI.UICamera.WorldToScreenPoint(obj1.transform.position);
This gives a position on screen but in pixel values. To obtain the co-ordinate positions,
obj2.transform.position = Camera.main.ScreenToWorldPoint(tempPoint) ;
This converts the on screen values to world co-ordinates. However note the cameras used, the first one obtains values from UI camera while the second one uses the game camera. Thus getting position of a gameobject in UI camera to the main camera. Please let me know if I have misunderstood anything. I am still learning Unity.
Your answer
Follow this Question
Related Questions
WorldToScreenPoint does not work as expected! 0 Answers
Why is unity grid not 1:1? how to fix this? 0 Answers
Why does rotating via viewport give different values than inspector rotations? 2 Answers
How do I make Unity zoom in/out on the center of the viewport instead of the cursor? 0 Answers
Computer screen inside of game 1 Answer