Screen To World: Difference between revisions

From Fancade Wiki
(Small improvements)
(Added examples, adapted "How do I know which object is being tapped?" article from old wiki)
 
Line 11: Line 11:
Given a screen coordinate, outputs the start and end points of a line going through that point (2 and 400 units away from the camera, respectively).
Given a screen coordinate, outputs the start and end points of a line going through that point (2 and 400 units away from the camera, respectively).


That might sound weird, but usually you'll just wire those points into a [[Raycast]] to find the object the user tapped, or [[Line vs Plane]] to find where on the ground the user tapped!
That might sound weird, but usually you'll just wire those points into a [[Raycast]] to find the object the user tapped, or [[Line vs Plane]] to find where on the ground the user tapped (see [[Screen To World#Examples|Examples]]).


== Notes ==
== Notes ==
Line 18: Line 18:


Because of this bug, the script will not function correctly on the first frame. To avoid incorrect values, use the block's output only if the [[Current Frame]] is greater than 0.
Because of this bug, the script will not function correctly on the first frame. To avoid incorrect values, use the block's output only if the [[Current Frame]] is greater than 0.
== Examples ==
* Find the object the user has tapped by using [[Raycast]].
: {{Image|Tapped object.png}}
* Find the position on the ground the user tapped (and place an object there) by using [[Line vs Plane]].
: {{Image|Line vs plane example1.png}}


== Related ==
== Related ==

Latest revision as of 02:09, 6 August 2024

Screen To World
Screen_To_World.png
TypeScript block
ColliderNone
FolderMath
Ports
Inputs Screen X
Screen Y
Outputs World Near
World Far

Given a screen coordinate, outputs the start and end points of a line going through that point (2 and 400 units away from the camera, respectively).

That might sound weird, but usually you'll just wire those points into a Raycast to find the object the user tapped, or Line vs Plane to find where on the ground the user tapped (see Examples).

Notes

Due to a technical issue, still to be fixed, the output lags by one frame. In other words, if you Set Camera on frame N, then this block's output will change on frame N+1.

Because of this bug, the script will not function correctly on the first frame. To avoid incorrect values, use the block's output only if the Current Frame is greater than 0.

Examples

  • Find the object the user has tapped by using Raycast.
Tapped object.png
  • Find the position on the ground the user tapped (and place an object there) by using Line vs Plane.
Line vs plane example1.png

Related