При задании любых координат для 2d объекта координата z всегда уходит в минус
Unity 6
Мне надо создать 2д объект по щелчку мыши если курсор находится в коллайдере другого объекта и дать ему глобальные координаты курсора
Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if (collider_.OverlapPoint(mousePosition))
{
PlayerPoint newPoint = Instantiate(playerPointPrefab, mousePosition, Quaternion.identity, parentObject.transform);
}
Если я создаю объект без указания позиции, он спокойно создаётся в 0 0 0, но если я задаю ему совершенно любые Vector2
или Vector3
, его z координата всегда улетает в минус. Я уже пытался брать координаты курсора с помощью RaycastHit2D
, переводить их туда-сюда в Vector2
и Vector3
, создавать новые вектора на основе координат курсора, переводить позицию курсора в локальную позицию родительского объекта, менять z координату отдельно, однако ничего из этого не помогает. z всегда остаётся равно -11025
.
Ответы (1 шт):
До задания вопроса провозился долго. Сразу после того как я его написал нашёл решение... нужно было менять локальную z координату, причём при помощи создания нового вектора
newPoint.transform.localPosition = new Vector3(newPoint.transform.localPosition.x, newPoint.transform.localPosition.y, 0f);