Size: a a a

2020 April 10

В

Взюх in unity3d.ru
у меня есть мной созданная кривая по оси Х, мне нужно эту кривую скопировать на другие оси, если это делать через Ctrl+C Ctrl+V то копируется только значение масштаба в этом кадре, но не кривая
источник

SM

Saved Messages in unity3d.ru
Всем привет. Как в юнити делать правильную архитектуру? Пока я умею просто вешать ссылки между компонентами и напрямую вызывать методы. Как нужно делать это правильно, хоть сколько-нибудь не так сильно связано?
источник

AS

Anton Smetanin in unity3d.ru
Saved Messages
Всем привет. Как в юнити делать правильную архитектуру? Пока я умею просто вешать ссылки между компонентами и напрямую вызывать методы. Как нужно делать это правильно, хоть сколько-нибудь не так сильно связано?
Сильная связность не так плоха, как её малюют. Но типа если хочешь сделать всё менее связным, можешь использовать интерфейсы, например)
источник

SM

Saved Messages in unity3d.ru
Anton Smetanin
Сильная связность не так плоха, как её малюют. Но типа если хочешь сделать всё менее связным, можешь использовать интерфейсы, например)
Больше всего коробит ручная расстановка ссылок между объектами, но, даже если, например, уровень не создавать заранее, а во время игры, то все равно нужно много разных фабрик, которые будут прокидывать зависимости. Интерфейсы в данном случае не уменьшат связность приложение просто потому что все равно нужно как-то получать ссылки на компоненты.
источник

SR

Serhii Romanenko in unity3d.ru
Saved Messages
Всем привет. Как в юнити делать правильную архитектуру? Пока я умею просто вешать ссылки между компонентами и напрямую вызывать методы. Как нужно делать это правильно, хоть сколько-нибудь не так сильно связано?
источник

SR

Serhii Romanenko in unity3d.ru
можно на СО-шках построить
источник

AS

Anton Smetanin in unity3d.ru
Saved Messages
Больше всего коробит ручная расстановка ссылок между объектами, но, даже если, например, уровень не создавать заранее, а во время игры, то все равно нужно много разных фабрик, которые будут прокидывать зависимости. Интерфейсы в данном случае не уменьшат связность приложение просто потому что все равно нужно как-то получать ссылки на компоненты.
Ну я не вижу проблем с ручной расстановкой. Это производительно, это видно в инспекторе, не нужно игру запускать, чтобы понять, что к чему крепиться будет
источник

SM

Saved Messages in unity3d.ru
Этот материал я видел, но тут у меня другой вопрос. Если у меня много, например, врагов, то для всех нужен объект здоровья, который должен ведь существовать как ассет, как-то не очень удобно, и все равно все ссылки нужно прокидывать руками
источник

В

Взюх in unity3d.ru
а с моим вопросом кто-то может помочь?
источник

AS

Anton Smetanin in unity3d.ru
Если какой-то DI-фреймворк использовать, то да, немного упростится связывание, но потом это читать сложнее будет
источник

SR

Serhii Romanenko in unity3d.ru
Взюх
а с моим вопросом кто-то может помочь?
я увы с таким не сталкивался...
источник

SB

Space Boost in unity3d.ru
чуваки, вот есть некий Text и у RectTransform атач TopCenter
Если я тупо перетаскиваю его на Canvas и указываю позицию -100 и 100 и он по центру сверху с небольшим сдвигом вниз и вправо, все ок.

Но если я делаю             var notification = Object.Instantiate(Resources.Load(SomePath), GameObject.Find("Canvas").transform) as GameObject;
notifcation.localPosition = new Vector3(-100, 100, 0) то он оказывается вообще не там где должен быть а непонятно где. Как пофиксить?
источник

В

Взюх in unity3d.ru
ясн :(
источник

SR

Serhii Romanenko in unity3d.ru
можно попробовать наваять простенький эдитор, который вставит ключи кривой в нужное место
источник

SB

Space Boost in unity3d.ru
Space Boost
чуваки, вот есть некий Text и у RectTransform атач TopCenter
Если я тупо перетаскиваю его на Canvas и указываю позицию -100 и 100 и он по центру сверху с небольшим сдвигом вниз и вправо, все ок.

Но если я делаю             var notification = Object.Instantiate(Resources.Load(SomePath), GameObject.Find("Canvas").transform) as GameObject;
notifcation.localPosition = new Vector3(-100, 100, 0) то он оказывается вообще не там где должен быть а непонятно где. Как пофиксить?
(это префаб)
источник

SR

Serhii Romanenko in unity3d.ru
Space Boost
чуваки, вот есть некий Text и у RectTransform атач TopCenter
Если я тупо перетаскиваю его на Canvas и указываю позицию -100 и 100 и он по центру сверху с небольшим сдвигом вниз и вправо, все ок.

Но если я делаю             var notification = Object.Instantiate(Resources.Load(SomePath), GameObject.Find("Canvas").transform) as GameObject;
notifcation.localPosition = new Vector3(-100, 100, 0) то он оказывается вообще не там где должен быть а непонятно где. Как пофиксить?
попробуй присваивать позицию через anchoredPosition (это свойство RectTransform)
источник

SM

Saved Messages in unity3d.ru
Что насчет событий? Как их правильно использовать в контексте юнити? Если у каждого объекта свой ивент имеется, то все равно ссылки вручную расставлять, если только делать ивент статиком, но тогда нельзя будет делать события, связанные с конкретным объектом, а поможет это только в случае каких-нибудь синглтонов, что все равно bad practice
источник

AS

Anton Smetanin in unity3d.ru
Ну тебе же ссылки в любом случае придётся расставлять. Либо руками в инспекторе, либо где-то в коде
источник

SM

Saved Messages in unity3d.ru
Anton Smetanin
Если какой-то DI-фреймворк использовать, то да, немного упростится связывание, но потом это читать сложнее будет
Немножко непонятно как должно работать DI в контексте юнити, мы ведь не можем внедрять зависимости в конструктор mono behaviour, например, да и коныигурировать контейнер как-то нужно, а у юнити нет как таковой точки входа
источник

SR

Serhii Romanenko in unity3d.ru
Saved Messages
Что насчет событий? Как их правильно использовать в контексте юнити? Если у каждого объекта свой ивент имеется, то все равно ссылки вручную расставлять, если только делать ивент статиком, но тогда нельзя будет делать события, связанные с конкретным объектом, а поможет это только в случае каких-нибудь синглтонов, что все равно bad practice
я практиковал создавать шину событий, которая лежит в SO. ее удобно назначать на префабах, других конфигах и диспетчерах. каджый у кого есть ссылка на шину подписывается / отписывается от событий или вызывает на ней какие-то события
источник