Last time, I tried Raycast by casting Ray from a game object.
[Link: Physics: I tried “Physics.Raycast” from Game Object.]
This time, I tried another way of Raycast. That is casting Ray from Camera.
[Ref: https://docs.unity3d.com/Manual/CameraRays.html]
[Test image to cast Ray from Camera]
When clicking a game object which are scattered in 3D space by mouse, the shape and color (object name and tag) are shown.
[Source code for this test]
The C# source code which is attached to Camera object is following.
public class Raycast_Test_2 : MonoBehaviour { public Text textObjectName; public Text textObjectTag; void Update () { // If mouse button is clicked if (Input.GetMouseButtonDown(0)) { // Create Ray Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); // If Ray hit something if (Physics.Raycast(ray, out hit, 10)) { // Show Name and Tag of the object string objectName = hit.collider.gameObject.name; textObjectName.text = objectName; string objectTag = hit.collider.gameObject.tag; textObjectTag.text = objectTag; } } } }
[Original Japanese Site:http://blog.lab7.biz/archives/2379340.html]