Менеджер?
Тут такое кино, что я добрался до реализации высирания загрузки 3Д объектов (.obj) под видом объекта на сцену, но у меня возник вопрос: стоит ли этот процесс реализовывать через Ассет Менеджер? С точки зрения логики.
P.S. Ассет менеджера у меня вообще нет пока что ни в каком виде
Вообще, у меня есть класс GameObjectManager, который отвечает за жизнь зарегистрированных через него объектов (создание/добавление/взаимодействие друг с другом/и т.д.). Пришла ещё в голову идея мб через него как то это оформить, но.... не уверен, что это будет хорошей идеей, т.к. в последствии сам класс станет тяжелее...
Я почитал в интернете определения ассет менеджера, но почти везде копипаст и где то пишут про 3Д модели, а где то нет. Только прочая шняга аля анимации, звуки и т.п.
Лично мне на первый взгляд думается, что создание внешних объектов через средства Ассет Менеджера не очень в тему... может кто распишет подробно и расставит всё по полочкам, у кого немаленький опыт в геймдейве
Заранее спасибо за ответы
Начни с LRU кэша ресурсов
а где он реализовывается?
я бы сделал загрузчик объектов и менеджер объектов разными классами
У меня 3д обьект из файла загружается в конструкторе того классе которым он будет представлен в коде. Простые вызовы методов типа читать из файла + распарсить. Можно это и в менеджер завернуть. Но я люблю попроще.
йэх, а у меня для каждого типа ассетов свой менеджер
Обработка ошибок. Файл не найден, считаться из файла может что-то неожиданное. А конструктор обязан инициализировать объект. Напрашивается хотя бы статический factory method, если не отдельный класс загрузчик. Чтобы можно было при определённых обстоятельствах отдать ошибку вместо объекта. Конечно, есть исключения, но во первых насколько я помню есть какие-то проблемы с выкидвванием их в конструкторе в плюсах, а во вторых плюсовики часто отключают rtti.
у меня конструктор создаёт пустой объект, хехе
Ну естественно. Отключают ртти , ассерты и дебаг. И сразу пушат код в репозиторий даже не запуская. Все правильно.
Rtti отключают по соображениям производительности. И в любом случае dynamic_cast не рекомендуется. Исключения поддерживают не все либы.
Откуда ты это берешь?
да их реально полно
Обсуждают сегодня