Вторник, 27 Июля 2021, 12:25

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » purple_rio [8]
Результаты поиска
purple_rioДата: Суббота, 29 Июня 2019, 19:38 | Сообщение # 1 | Тема: [3d] Вращение объекта по оси Y
был не раз
Сейчас нет на сайте
Здравствуйте. У меня такая проблема. Я хотел бы вращать объект в 3d пространстве вокруг оси Y с помощью курсора. Но так, чтобы не приходилось вращать курсор вокруг самого объекта, а просто в любом месте на экране. Ниже на скринах попытался показать, что именно хочу реализовать. Белая точка - начальная позиция курсора.





Я создавал пустой объект в начальной позиции курсора и потом вращал курсор вокруг этого пустого объекта. Таким образом я вращал пустышку по оси Z, а потом передавал это вращение нужному мне объекту. Но как преобразовать угол вращения по оси Z для оси Y я не нашёл. Видимо я что-то делаю не правильно и есть способ намного правильнее и хотел бы у вас спросить. Возможно кто-то уже такое реализовывал и может подсказать как это сделать или где можно про это почитать.
purple_rioДата: Понедельник, 22 Января 2018, 19:57 | Сообщение # 2 | Тема: Проблема с List C#
был не раз
Сейчас нет на сайте
defGMDefeloper, хочу получить в конечном итоге возможность создавать и удалять во время игры объекты на сцене, но при этом управлять одной кнопкой холстами всех объектов на сцене. Как-то так.

Твой коммент
Цитата
в лист записывай не канвас ,а игровой обьект(куб)
заставил меня задуматься переписать немного скрипт. До этого даже не задумывался об этом.

Переписал этот скрипт, теперь в List записываю только объекты(cube), и уже дочерними холстами управляю. Теперь не нужно искать по тэгу холсты, из-за чего неактивные холсты не записывались в List.

Пересобирать List так и не получается. Все так же выдает ошибку, но можно будет полностью очистить List и заново добавить в него активные объекты. Что при предыдущем скрипте мне не позволяло делать поиск по тэгу.
Еще заметил, что если объект(cube) просто выключить на сцене, то ошибку не выдает (что логично) и все работает. Тогда можно будет подключить Object Pool.

Теперь немного легче с этим скриптом, но и есть ещё над чем подумать.

Сам "говноскрипт"



Сообщение отредактировал purple_rio - Понедельник, 22 Января 2018, 20:00
purple_rioДата: Понедельник, 22 Января 2018, 17:31 | Сообщение # 3 | Тема: Проблема с List C#
был не раз
Сейчас нет на сайте
defGMDefeloper, Да это понятно, что можно использовать один холст, в котором будут сразу и синий и оранжевый UI. Просто пока для теста сделал два холста.

Цитата
А вообще объясни зачем это все?


Чтобы менять главный холст на вспомогательный, и наоборот по нажатию кнопки UI, для каждого объекта на сцене. Просто другой способ в голову никак не приходит, как взаимодействовать со всеми холстами на одной сцене сразу одной кнопкой, так, чтобы это все работало с динамически установленными объектами, ну и уничтоженными тоже.
purple_rioДата: Понедельник, 22 Января 2018, 17:09 | Сообщение # 4 | Тема: Проблема с List C#
был не раз
Сейчас нет на сайте
Общее. На сцене есть два объекта (cube), у которых по два дочерних canvas (далее холсты).



Холсты с изображением оранжевого цвета имеют один общий тэг, холсты с изображением синего цвета точно также имеют свой общий тэг, у всех объектов(cube) они находятся в активном состоянии. При запуске сцены скриптом холсты синего цвета скрываются по тэгу, т.к. заранее скрытые объекты по тэгу не находятся и далее их нельзя будет использовать. Это мне нужно для того, чтобы с помощью кнопки переключать эти холсты между собой.

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



По необходимости я уничтожаю любой из этих объектов(cube), а т.к. с уничтожением объекта уничтожаются и все его дочерние объекты (то есть холсты), то ссылки на эти холсты в List пропадают.



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

Цитата
MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.


Искал в интернете способы обновить List, чтобы убрать "битые" ссылки. Люди выкладывали свои примеры, которые я пробовал:




С помощью этих методов List обновляется.



Но вот при нажатии кнопки все также выдает ошибку и холсты не заменяются между собой. Так же очищал List полностью и заново заносил в него по тэгу оставшиеся холсты, но раз холсты у меня меняются между собой по нажатию кнопки, то один всегда неактивен, и его не заносит в List.



После очистки List и добавления в него же, по нажатию на кнопку ошибка не появляется.

Прошу помощи в исправлении этой ошибки. Возможно кто-то знает как правильно пересобрать List, либо ссылку на ресурс, где эту ошибку исправляли. Подскажите, в какую сторону копать. Просто мне в голову лезет написание только такого "говнокода".

Вот мой "говнокод".



Может быть кто-то уже делал такое и может помочь мне в этом вопросе, когда на сцене много объектов, и у всех сразу можно просматривать информацию по нажатию на одну кнопку и эти объекты могут быть уничтожены или добавлены во время игры на сцену.

P.S. заранее извиняюсь, если весь текст вышел непонятным.


Сообщение отредактировал purple_rio - Понедельник, 22 Января 2018, 17:12
purple_rioДата: Вторник, 21 Февраля 2017, 08:28 | Сообщение # 5 | Тема: Вопрос о звуке в Unity
был не раз
Сейчас нет на сайте
URGINSAN, спасибо, возьму на заметку!
purple_rioДата: Понедельник, 20 Февраля 2017, 22:13 | Сообщение # 6 | Тема: Вопрос о звуке в Unity
был не раз
Сейчас нет на сайте
Rean, PlayOneShot() помог с этим, благодарю!
purple_rioДата: Понедельник, 20 Февраля 2017, 21:31 | Сообщение # 7 | Тема: Вопрос о звуке в Unity
был не раз
Сейчас нет на сайте
Здравствуйте. Такая ситуация, в скрипте через OnTriggerEnter по тэгу проигрывается звук, но если объект со скриптом будет проходить через несколько объектов одновременно, то звук будет обрываться и проигрываться полностью только на последнем пройденном объекте. Хотелось бы исправить эту ситуацию, чтобы один и тот же звук проигрывался на каждом из этих объектов полностью без обрывов. Звук 2D.
Искал что либо по этой теме в поисковике, но так ничего и не нашел (возможно задаю вопрос не правильно). Может кто-нибудь помочь в этом вопросе?
purple_rioДата: Среда, 01 Февраля 2017, 14:45 | Сообщение # 8 | Тема: Сохранение кнопок Unity UI
был не раз
Сейчас нет на сайте
Здравствуйте! Возник такой вопрос. Есть две кнопки (Unity UI), первая активна, вторая не активна. По нажатию на первую кнопку, вторая активируется, первая же выключается. Проблема в том, что их нужно сохранить, чтобы первая была выключена, а вторая включена после перезапуска. Может кто-нибудь чем-нибудь помочь?
Форум игроделов » Записи участника » purple_rio [8]
  • Страница 1 из 1
  • 1
Поиск:

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