Я создаю приложение unity3d, которое загружает сборку и перемещает ее. Я могу загрузить сборку куба с помощью мировой координаты. Я хочу переместить этот объект в положение щелчка мыши. Для выполнения этой работы я использую ниже код. Мой объект никуда не движется.Как перенести единство на запястье на позицию мыши?
public GameObject[] model_prefabs;
void Start() {
//for (int i = 0; i < 1; i++) {
int i = 0;
Instantiate (Resources.Load ("Cube"), new Vector3 (i * 1.8F - 8.2f, 0, 0), Quaternion.identity);
//}
}
void Update() {
if (Input.GetKey("escape"))
Application.Quit();
if (Input.GetMouseButtonDown (0)) {
Debug.Log ("mouseDown = " + Input.mousePosition.x + " " + Input.mousePosition.y + " " + Input.mousePosition.z);
Plane p = new Plane (Camera.main.transform.forward , transform.position);
Ray r = Camera.main.ScreenPointToRay (Input.mousePosition);
float d;
if (p.Raycast (r, out d)) {
Vector3 v = r.GetPoint (d);
//return v;
Debug.Log ("V = " + v.x + " " + v.y + " " + v.z);
transform.position = v;
}
else {
Debug.Log ("Raycast returns false");
}
}
}
Я конвертирую из положения щелчка мыши в мировые координаты. Они выглядят как подходящие.
mouseDown = 169 408 0
V = -5.966913 3.117915 0
mouseDown = 470 281 0
V = -0.1450625 0.6615199 0
mouseDown = 282 85 0
V = -3.781301 -3.129452 0
Как переместить этот объект?