Loading...
ViktorDimitrov avatar ViktorDimitrov 0 Точки

Няколко скрипта закачени за един GameObject

Проблем (или лоша практика) ли е да имаме два и повече скрипта закачени за нашия GameObject, във всеки от които има Update() метод(съответно всеки скрипт отговаря за различен behavior на обекта) и в случая ще си пречат ли Update-ите? 

Тагове:
0
Unity 3D 07/07/2017 12:38:46
flareset avatar flareset 140 Точки
Best Answer

Ще товарят повече, но колко - зависи какво има в Update на тия скриптове. Забавянето може да е пренебрежимо малко, може и да доведе до голям спад на кадрите. От моят малък опит съм стигнал до нагласата, че е по-добре да има Update само в един скрипт, който да се ползва и от другите скриптове.

0
ViktorDimitrov avatar ViktorDimitrov 0 Точки

Тоест само един ъпдейт за цялата сцена?

0
flareset avatar flareset 140 Точки

Да, така е по-добре, но дали за конкретния случай си заслужава.  Специално за курса - едва ли, но е добра практика.

0
ViktorDimitrov avatar ViktorDimitrov 0 Точки

Супер, мерси.

0
yasen.dokov avatar yasen.dokov 2 Точки

Това да имаш само един Update звучи като малко излишна оптимизация (особено за курса, но не само), освен ако нямаш наистина много скриптове/обекти. Разликата за малко на брой скриптове е пренебрежима, а правейки го с един Update, вероятно ще си създадеш излишна работа/проблеми, без да има реална полза.

Edit: Всъщност, за да е полезна оптимизацията, май трябва да имаш хем много, хем прости (съизмерими със самото извикване на Update) скриптове, защото иначе ще е незначителна.

0
09/07/2017 03:14:34
flareset avatar flareset 140 Точки

Да, затова за конкретния случай трябва да се прецени дали е нужна такава оптимизация. За малък брой обекти с несложни изисления ще е незначително, но на сто и нагоре, с  ъпдейт във всеки, вероятно ще се наложи  Има разлика и дали приложението ще е за настолен( мощен) компютър или за телефон. В Profiler може да се правят справки колко товарят ъпдейтите от всеки скрипт и да се реши.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.