- Home /
how to calculate screen to world point (custom)
i need to make a low performance alternative to Camera.screentoworldpoint (i need to call it alot). i only need the X-axis using camera width. is it possible ?
Are you sure that Camera.ScreenToWorldPoint() is a bottle neck? Are you using a perspective or orthographic camera? If perspective, is the distance between the camera and the objects the same for all the calculations you need to do? Is the camera fixed, or does it move.
You may find that a native function call (ScreenToWorldPoint()) is faster than code written in C# or Javascript, even if the math is simpler. The conversion is 'just' a matrix multiplicaiton.
To second robertu, I often lazily call ScreenToWorldPoint, sometimes several times per frame using the exact same mouseCoords, just to get a prototype working. I add a little comment, such as "this is slop. convert to grid math" And it's always plenty fast. I don't think I've ever rewritten one, except for fun.
Sure, easy to speed up SPtW if you know HighSchool trig. Othro camera is a simple slide≻ale (no trig.) For just x on perspective cam, think it's a single Cosin (or Sin?) Just draw a picture and label the camera ray as the radius.
But, again, is this the final shipping version? No changes co$$anonymous$$g? Otherwise you will make several changes which each require ripping out your optimized SPtW and redoing it.
the variables are always changing so i cant cache it. i am targeting android this is why i wanted to see if there was a faster version just in-case. but if you guys say its not that bad i think i will just use it then. it hasn't caused any problems or lag. thanks
Your answer
Follow this Question
Related Questions
ScreenToGUIPoint 1 Answer
world to screen coordinates conversion 1 Answer
Keeping the player inside the screen? 2 Answers
Convert 3D model to point cloud - possible? 1 Answer
Converting world point to screen point 2 Answers