- Home /
How to instantiate an object at mouse position?
I have read quite a few tutorials but none that cover EXACTLY what im trying to do. SO my question is how do I make a game object instantiate at the mouse mouse position after clicking a UI button, but not drop the object into the world space but instead wait for another mouse click to place the object that was instantiated at the position of the second click.
For example, If I click a "Menu Button" a menu appears, I then choose "Buildings Menu" then I click on the button to "Build a Logging Camp". The Logging Camp prefab will instantiate but it will automatically fall into the game, not wait for another mouse click to place the object. I was thinking I could just have a UI Image of the Logging Camp appear at mouse cursor "Upon purchase" then click to place the "Game Object", but that sounds really inefficient. I don't need free code, just an explanation on what functions or methods to try to get this to work properly.
Answer by hypnoticmeteor · Jan 10, 2015 at 11:32 AM
using UnityEngine;
using System.Collections;
public class InstantiateButtonGameObject : MonoBehaviour {
public GameObject goOne;
public GameObject goTwo;
bool goReady;
GameObject initiateGO;
public void SelectGameObjectOne()
{
initiateGO = goOne;
goReady = true;
}
public void SelectGameObjectTwo()
{
initiateGO = goTwo;
goReady = true;
}
void Update ()
{
if (!Input.GetMouseButton(0))
return;
if(goReady)
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray,out hit))
{
Instantiate(initiateGO,hit.point,Quaternion.identity);
goReady = false;
}
}
}
}
Add UI buttons to access public functions to set gameobjects.
Ah I see, thanks alot for the response. I didn't think of even using a raycast, I have been using On Click on events, sending messages to the Game object calling on clicked events, this seems smoother, I really appreciate it.
Your answer
Follow this Question
Related Questions
Unity Instantiates GameObjects in a wrong order 2 Answers
Instantiate w/ Mouse Click: Random(?) Z.Axis problem (2D) 2 Answers
Collision Detection between two instantiate clone 0 Answers
instantiating 10 objects at runtime. 2 Answers
How to Spawn and Place an Object in Line after Spawned Randomized Object? 0 Answers