Вторник, 26 Ноября 2024, 21:53

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как разбить семью или проблема детей и их родителей
CmaujlukДата: Воскресенье, 04 Октября 2015, 09:18 | Сообщение # 1
участник
Сейчас нет на сайте
Всем привет!)
Не мог назвать тему по другому так как она выражает всю суть.

Если объект (например куб) находится в свободном плаванье (в иерархии) то нормально отображается в камере.
Но если его закинуть в дочерние к другому объекту (в моем случаи панели которая сама находится в канвасе),
то объект начинает кататься в камере при изменении размера окна, есть какие нибудь пути объяснить объекту чтобы он перестал катался вместе с родителями?
Была идея создать свободный объект и в апдейте все время переназначать координаты, но это не подходит, ибо это "тяжело".
Выслушаю любые, даже самые бредовые идеи, заранее спасибо.
С меня как всегда +.


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"
RangerДата: Воскресенье, 04 Октября 2015, 13:05 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
recttransform ui компоненотов != transform в мире при настройке канваса screenspace
2 выхода:
1. руками (в скрипте я имею в виду) подгонять transform куба под экран
2. пользовать worldspace в канвасе




Сообщение отредактировал Ranger - Воскресенье, 04 Октября 2015, 13:06
nedashДата: Воскресенье, 04 Октября 2015, 13:14 | Сообщение # 3
был не раз
Сейчас нет на сайте
Ну, как бы все правильно.
Все дочерние элементы получают свойства родительского.
Припустим Вы зделали всплывающее меню, в нем 2 кнопки. И представте: у Вас само меню выкатывается, а кнопки нет biggrin .
По подробней объясните суть что Вам надо зделать (может Вам надо получать свойства одного объекта и запихнуть в другой).


Кто из Вас котейки, подымите лапку?
berilДата: Воскресенье, 04 Октября 2015, 17:18 | Сообщение # 4
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Эм, а зачем вообще игровой обьект делать дочерним к элементам интерфейса? wacko



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
RangerДата: Воскресенье, 04 Октября 2015, 17:34 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
Цитата beril ()
Эм, а зачем вообще игровой обьект делать дочерним к элементам интерфейса?

наверное хочет, чтобы кубик терся о кубик внутри интерфейсного окна


CmaujlukДата: Понедельник, 05 Октября 2015, 04:54 | Сообщение # 6
участник
Сейчас нет на сайте
Пилю все дело под Android.
Цитата Ranger ()
1. руками (в скрипте я имею в виду) подгонять transform куба под экран

Пробовал, выверял формулы с константами с точностью до 0.0001, если в телефоне вытащить нижнюю панель(на некоторых тлф) то куб уезжает.

Цитата Ranger ()
пользовать worldspace в канвасе

Сам канвас начинает багать, и не все элементы корректно отображаются.

Цитата nedash ()
По подробней объясните суть что Вам надо зделать

Цитата nedash ()
Эм, а зачем вообще игровой обьект делать дочерним к элементам интерфейса?


У меня есть N кнопок которые инициализируются экземпляром класса, у каждой кнопки есть гетсеты имени, цвета и т.д.
В том числе каждой кнопке назначен свой игровой объект который она включает если активирована, и выключает если выбрана другая кнопка.
Т.е. это что-то типа меню, но кнопки не исчезают, а включают тот объект который им назначен. В моем случае это UI кнопка и у неё в дочерних находится куб
Т.е. когда я нажимаю кнопку меню, появляется ещё 1 кнопка с дочерним кубом, нажму другую кнопку появится что-то другое, а кнопка и дочерний куб на время задизейблятся,
дочерние объекты используются для того, чтобы легко управлять SetActive передавая всего лишь 1 аргумент в метод кнопки меню(саму кнопку с дочерними ему объектами).

Спасибо за ответы, но решения пока не нашел и помощь ещё требуется.


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"
RangerДата: Понедельник, 05 Октября 2015, 05:30 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
ну а зачем кубы к кнопкам чилдами-то делать??
Так нравится мучиться с преобразованиями?
в скрипте кнопы пропиши публичный геймобжект закинь туда твои кубы через инспектор и к нему обращайся

пысы
Цитата Cmaujluk ()
Пробовал, выверял формулы с константами с точностью до 0.0001, если в телефоне вытащить нижнюю панель(на некоторых тлф) то куб уезжает.

если правильно сделать(а не подгонять константы), ничего и никуда не уезжает


CmaujlukДата: Понедельник, 05 Октября 2015, 11:32 | Сообщение # 8
участник
Сейчас нет на сайте
Цитата Ranger ()
ну а зачем кубы к кнопкам чилдами-то делать??

Для удобства переключения вкладок (кнопок меню) чтобы передавать всего лишь 1 аргумент, а дочерних может быть миллион хоть куб, хоть камера, да без разницы что, я это расписывал.

Цитата Ranger ()
закинь туда твои кубы через инспектор

Это можно сделать и через инспектор и через код кэшом, но мне это не надо, если у меня объектов миллион? С разными тегами и названиями? Тут даже foreach'ем не цепануть их, и не задизейблить.
Писать метод на миллион строк и миллион объектов закидывать через инспектор?
Цитата Ranger ()
если правильно сделать(а не подгонять константы), ничего и никуда не уезжает

Код
MainCube_Transform.position = new Vector3(0-Screen.width/1.5852f, 0 - Screen.height / 2.2731f, 0);

Тем самым подгоняя куб в нужную точку камеры. Есть другие варианты?


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"
RangerДата: Понедельник, 05 Октября 2015, 12:29 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Цитата Cmaujluk ()
Тем самым подгоняя куб в нужную точку камеры.

facepalm

Нельзя вот так из экранных координат преобразовать в мировые.
http://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html


CmaujlukДата: Понедельник, 05 Октября 2015, 13:27 | Сообщение # 10
участник
Сейчас нет на сайте
Цитата Ranger ()
http://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html

Таким способом все равно не возможно подогнать, при небольшом уменьшении экрана объект уезжает, специально затестил.
Максимум что можно выжать это в апдейте чекать, но это "тяжело".

Что сказать. Я отчаялся. Придется передавать не один объект а массив объектов как аргумент, или пилить второй необязательный аргумент.
В любом случаи спасибо всем кто отписался, прошу прощения за кипишь.


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг