Screen To World: Difference between revisions
(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
Type | Script block |
Collider | None |
Folder | Math |
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.
- Find the position on the ground the user tapped (and place an object there) by using Line vs Plane.