- Home /
 
How do you make a game object appear were the cursor is
In my game I want it so the player can place blocks for the puzzle to be completed. I tried to just use the Instaniate and then the game object but that didn't work since I needed to specify a position.I want it so the cursor would be in the spot and when they click the object will appear.
Answer by karl_jones · Nov 15, 2016 at 10:58 AM
You can use a Raycast to get the position providing there is a collider under the cursor. https://docs.unity3d.com/ScriptReference/Physics.Raycast.html
 using UnityEngine;
 using System.Collections;
 
 public class ExampleClass : MonoBehaviour {
     public GameObject particle;
     void Update() {
         if (Input.GetButtonDown("Fire1")) {
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
             if (Physics.Raycast(ray))
                 Instantiate(particle, transform.position, transform.rotation);
         }
     }
 }
 
              Answer by d-ostapa · Nov 16, 2016 at 07:30 AM
What do you mean by "There is a collider Under the cursor? " @karl_jones I tried to use it but it didn't work so I think its something to do with the collider you are talking about. I just don't know how to apply a collider to a cursor.
Answer by roman_sedition · Nov 16, 2016 at 02:36 PM
You can instantiate the object at specified length from the ray.
This code will instantiate the object on the screen where the mouse is, but at a z axis coordinate equal to the absolute distance the camera is from zero. i.e it will have a z coordinate of zero.
 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
             
 
             Vector3 position = (ray.origin + ray.direction * Mathf.Abs(Camera.main.transform.position.z));
 
             
             GameObject yourObject = Instantiate (thePuzzlePiece);
 
             yourObject.transform.position = position;
 
 
              Your answer
 
             Follow this Question
Related Questions
Random array issue C# 2 Answers
overlapping object doesn't disable 1 Answer
How to destroy instantiated objects. 1 Answer
Distribute terrain in zones 3 Answers
How do I instantiate certain objects to appear in a specific spot? 3 Answers