- 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
![](https://koobas.hobune.stream/wayback/20220612100711im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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