8

Godot. Unique Scene Name

Всем привет, затрону один важный момент касающийся организации кода. По моим наблюдениям новички туторами обмажутся, а потом у них возникают проблемы, а все из-за использования абсолютных путей. Я про два конкретных способа get_parent() и get_node().

Создам тестовый проект для наглядности.

Вроде бы все хорошо, никаких проблем нету, мы же ничего не собираемся менять никогда в структуре этой сцены<sarcasm> 100% можно быть уверенным только в одном, что изменения будут, в геймдеве особенно)
Немножко изменим структуру сцены.

Если уж хотите все одно таким образом обращаться к нодам или сценам нужным, то Godot предоставляет очень удобный инструмент.

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

Если потомку надо знать своего родителя, то пусть родитель и сообщает ему об этом.

Все теперь можно их перетаскивать по сцене как угодно, уже ничего не сломается.

Особенно это удобно при создании GUI, адаптивный интерфейс как правило требует много разнообразных вложений и родительских сцен, чтобы все там само красивенько расползалось по экрану, с таким подходом сэкономите себе кучу нервов и времени)

И обещанное про get_parent()
Для наглядности в _physics_process добавил 3 get_parent()

на картинке ниже видно, что _physics_process выполняется на 30% дольше чем _velocity_computed

А теперь скрин профайлера без этих 3-х get_parent()

Как видите на 25% быстрее стал выполняться, чем _velocity_computed
Если вам кажется что это пустяк, то вот видосик. Ролик коротенький, но 60мб получился, заль. ютуб. В первом случае у меня фпс начинал падать ниже 60 уже после спавна 600 человечков, во втором это число выросло до почти 2100.

https://youtu.be/jd3pMYHGYYM

Всем спасибо за внимание.
Небольшой и уютный чатик нашего сообщества https://t.me/Godot_pikabu

Частенько действительно полезные вещи подсказывают, удобно, с любым затупом можно просто спросить))

Свидетели Godot'овы

91 пост333 подписчика

Правила сообщества

Нельзя писать плохой про Godot и можно писать хороший про Godot. Borat.jpg
Упоминание других движков допустимо только в технических сравнениях иначе - вы юнитист и бог вам судья.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества