Ответ: Вопросы
Цитата:
По идеи. Нет. ant0N, где почитать про режимы импорта? Почему если я Texture меняю на Image или TextureAtlas редактор обязательно перезапускается? ... Так, TextureAtlas вроде позволяет несколько изображений в одно объединить, ладно. Цитата:
Потому что в последнем не вижу смысла (пригодилось для mip-map), в первом же копии импорта создаются автоматически. P. S. Термин «запечь» в данном случае неуместен. P. P. S. Цитата:
По идеи относиться ко всем ресурсам окромя сцен и кода. |
Ответ: Вопросы
Сорян что так долго, работал
Цитата:
Например: Texture, Image То, что редактор перезапускается, это нормально для некоторых ресурсов. Видимо необходимо для реимпорта, думаю со временем это исправят. Цитата:
|
Ответ: Вопросы
Вложений: 1
Вот скрин. Тут и настройки импорта, и ворнинги и кусочек кода
|
Ответ: Вопросы
Твоя проблема в том, что ты грузишь картинки не через Resourceloader.
Поэтому настройки импорта игнорируются. Вместо: temp_image.load("path") Пиши: temp_image = load("path") |
Ответ: Вопросы
О, спасибо!
|
Ответ: Вопросы
Хм, скрипты обновляются в разных потоках? Получил ситуацию , когда в ходе выполнения функции скрипта, значение переменной другого скрипта изменилось.
|
Ответ: Вопросы
Цитата:
В версии 3.2.3 была ошибка из-за которой после удаления объекта не удалялась ссылка, и вела на новый объект в этой же памяти (часть оптимизации). Актуальная версия сейчас 3.3 |
Ответ: Вопросы
Цитата:
|
Ответ: Вопросы
Цитата:
|
Ответ: Вопросы
Вложений: 1
Загружаю сцену:
Создаю переменную Scene Цитата:
Цитата:
Цитата:
И сразу возникает вопрос, как правильно очистить Scene? В справке рекомендуется queue_free(), ей я могу удалить только инстанс загруженной сцены. Если я копирую код выше, но меняю загрузку на Level_2.tscn И начинаю по очереди загружать-выгружать разные сцены. То в консоли видно что с каждой подобной загрузкой, увеличивается PackedScene (см. скриншот). Получается в памяти продолжают висеть объекты. Что логично, я ведь ничего не делаю с Scene. Вопрос правильно удалять ресурсы? Как полностью очистить Scene что бы загрузить под ней новую? Какой подход вернее, 1 переменная для загрузки всех уровней, или для каждой своя переменная? Вложение 23384 |
Ответ: Вопросы
Цитата:
Мне кажется что твоя проблема в том, что ты на самом деле не удаляешь прошлую сцену вот ты ее создаешь: Код:
var scene = Scene.instance() Код:
var scene_del = get_node("Node//Level_1") Попробуй у себя сделать удаление так: Код:
var spat_node = get_node("Spatial") |
Ответ: Вопросы
Вложений: 1
Цитата:
Короче всё правильно. Надо удалять ноду, о загруженном ресурсе беспокоится не надо. При необходимости его можно обнулить Scene = null. Система так и работает, загрузить ресурс, создать его инстанс, подключить к нужной ноде. Примерный код: Подробности тут - Reference. Вложение 23385 |
Ответ: Вопросы
У меня созрел вопрос (в контексте движка).
Как правильно организовать программную часть игры. Самый простой способ, на каждый активный объект: дверь, персонаж, враг и т. д. Нацепить скрипт, обернуть в сцену. И расставить на игровой-сцене инстансы. Просто, быстро, сердито. Второй вариант, добавлять всё активное в группы/списки, и тому подобное. А дальше управлять всем этим из универсального скрипта. Скрипт для врагов, скрипт для всех дверей и т. д. Сложнее, надо продумать правила для разработки уровней. По идеи выигрыш в скорости и удобство управления. Как «правильно», насколько допустим первый вариант вне прототипа? Какая разница в скорости выполнения и т. п.? P. S. Написал и подумал, только во втором варианте можно нормально организовать работу через потоки. |
Ответ: Вопросы
Вопрос слишком абстрактный. Если ты спрашиваешь как сделать архитектуру игры, то на этот вопрос нет правильно ответа, есть лишь разного рода паттерны.
Советовать конкретный паттерн бессмысленно, это зависит от проекта. Но есть некоторые правила, которым следует придерживаться: - единая точка входа в игру, единый апдейт. - скрипты, которые ты весишь на объекты в редакторе - просто вьюшки, в них не должно быть логики. Вся логика должна быть на другом уровне (в Контроллерах, в случае MVC или в Системах - если ECS) В общем, тут мне проще тебе объяснять на живом примере уже в IDE, чем расписывать это на форуме |
Часовой пояс GMT +4, время: 15:32. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot