Страница 1 из 1

[2D] позиционирование дочернего объекта по Z-координате

СообщениеДобавлено: 24 июн 2018, 03:48
Virus_vv
Добрый день!

Ситуация такая:
Есть префаб, в нем есть родительский и дочерний объект. Позиция дочернего объекта: (0.5, 0.5, -1), чтобы его было видно.
Префаб добавляю на сцену в скрипте, через Instantiate и меняю родительскому объекта позицию.
Но почему-то дочерний объект при этом на том же уровне, что и родитель. Если во время игры через инспектор поменять дочернему объему координату Z, то в инспекторе будет отображаться верная координата, но на сцене ничего не изменится. Из сцены позиция также не меняется. как будто координата Z заблокирована. Игра при этом стоит на паузе, то есть скрипты, по-идее не должны действовать на объект.

Как с этим бороться?

Re: [2D] позиционирование дочернего объекта по Z-координате

СообщениеДобавлено: 24 июн 2018, 09:48
1max1
Ты ведь используешь спрайты я надеюсь, а не image?

Re: [2D] позиционирование дочернего объекта по Z-координате

СообщениеДобавлено: 24 июн 2018, 12:56
Virus_vv
1max1 писал(а):Ты ведь используешь спрайты я надеюсь, а не image?


Да, спрайты. В спрайт-рендерере дочернего объекта изначально нет спрайта, он задаётся кодом в определённый момент. Вдруг это

Re: [2D] позиционирование дочернего объекта по Z-координате

СообщениеДобавлено: 24 июн 2018, 13:17
1max1
у cпрайтов есть такое свойство https://docs.unity3d.com/ScriptReferenc ... Order.html
Если через ось Z не получается попробуй через него

Re: [2D] позиционирование дочернего объекта по Z-координате

СообщениеДобавлено: 24 июн 2018, 13:22
Virus_vv
1max1 писал(а):у cпрайтов есть такое свойство https://docs.unity3d.com/ScriptReferenc ... Order.html
Если через ось Z не получается попробуй через него


Да, точно. Спасибо. большое, помогло.
С осью я постараюсь еще поковыряться, надо же докопаться до истины )

Re: [2D] позиционирование дочернего объекта по Z-координате

СообщениеДобавлено: 24 июн 2018, 13:40
Virus_vv
Потратил день. но нашёл причину.
Такая ситуация происходит если поставить родительскому элементу нулевую глубину.
В моём случае я всем объектам проставлял localscale = new Vector3(1, 1), из-за этого была ошибка.
Спасибо :)