BornFoRdeatH писал(а):https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html
Merfik933 писал(а):BornFoRdeatH писал(а):https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.htmlСинтаксис:Используется csharpGameObject gameObject = Instantiate(Prefab, Prefab.transform.position = Camera.ScreenToWorldPoint(ClickPosition), Quaternion.identity) as GameObject;
gameObject.transform.SetParent(Canvas.transform, false);
почему-то объект появляется в центре экрана, а не в месте клика..
Alkos26Rus писал(а):Merfik933 писал(а):BornFoRdeatH писал(а):https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.htmlСинтаксис:Используется csharpGameObject gameObject = Instantiate(Prefab, Prefab.transform.position = Camera.ScreenToWorldPoint(ClickPosition), Quaternion.identity) as GameObject;
gameObject.transform.SetParent(Canvas.transform, false);
почему-то объект появляется в центре экрана, а не в месте клика..
Это жесть, лучше скинь свой первый код, потому как в этом все не правильно. Тебе не нужно переводить положение мышки в мировые координаты, если ты хочешь создать UI элемент на экране. Input.mousePosition не возвращяет ничего относительно угла, он возвращяет координаты мышки на экране в пикселях
1max1 писал(а):Синтаксис:Используется csharpvar go = Instantiate(prefab, canvas.transform);
go.transform.position = Input.mousePosition.
Важно задавать позицию именно после инстанса и парентирования, ну и канвас в оверлее должен быть.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8