Нерест в Unity: сферы вылетающие из зоны действия
Я программирую игру в Unity. Я пытаюсь создать сферу в пространстве каждый раз, когда пользователь нажимает на интерфейс. Я могу порождать сферы, но сферы всегда имеют координаты около (200,200, 0) и (400 400,0), но сферы должны появляться там, где указатель находится на экране. Это мой код ниже, кто-то может помочь? Я пишу в C#:
using UnityEngine;
using System.Collections;
public class myscript : MonoBehaviour {
//initialize a circle
public GameObject Node;
public float cooldown = 1;
bool clicker;
float clicktime = 0;
GameObject node; //reference to the prefab
// Use this for initialization
void Start () {
}
//In everyframe you can
void Update () {
clicker = Input.GetMouseButtonDown(0); //obtaining the input
clicktime += Time.deltaTime;
}
//Check whether you can shoot
void FixedUpdate(){
if (clicker == true && clicktime >= cooldown) { //if the clicker is clicked and the previos clicking is done
SpawnCircle(); //spawn a circle
clicktime = 0; //reset timer
}
}
void SpawnCircle(){
//this creates a new game object
x = Input.mousePosition.x
y = Input.mousePosition.
node = GameObject.Instantiate (Node,Input.mousePosition,Quaternion.identity) as GameObject;
//settings that we initalize our object with
//node.transform.position = new Vector3(Input.mousePosition.x, Input.mousePosition.y,0);
}
}
1 ответ
Вам необходимо рассчитать координаты ScreenToWorld. С Unity это легко на самом деле.
https://unity3d.com/learn/tutorials/modules/beginner/physics/raycasting