Всем привет!
Эта статья посвящена, как добавить SimObject в свой проект.
Как оказалось, есть трудности импорта подобных файлов.
Инструкция будет на примере флагов которые доступны в меню группы «барахолка»
Так же есть в разделе файл «Blender 3D», где можно подредактировать и экспортировать.
И так начнём:
- Первым делом, рекомендую создавать сценарии не по «рыбе» которая расположена по адресу SDK MSFS SDK\Samples\DevmodeProjects\Sceneries\SimpleScenery
А создавать самостоятельно через SDK msfs2020:
1.1 Первым делом создадим при помощи правой кнопки мышки на том диске где будет хранится проект и переименуйте как будет удобно Вам:
Я переименовал на testsimobj, далее будет работа именно в этой папке.
1.2 загрузимся втой части планеты или аэропорта для которого делаете сценарий.
1.3 Включите в настройках режим разработчика (developer), чтобы можно было почувствовать себя могущественным разработчиком MSFS ☺ :
1.4 Добавляем свой проект file - new Project
задаём имя - create - custom - вписываем название где * и выбираем scenery далее next
далее добавляем группу, например bgl (файлы сценария, где хранится информация по всем добавленным объектам, рулёжкам и т.д)
после добавим modellib в корне проекта через view вызовем инспектор
и спело жмём add asset group
всё также custom - название и выбираем modellib
на этом почти всё закончено для приготовления обложки сценария, только из той же «рыбы» можно скопировать фаил xml сохранений
MSFS SDK\Samples\DevmodeProjects\Sceneries\SimpleScenery\PackageSources\scene
objects.xml
и поместить его в свою папку PackageSources\Scenery\testobj\scenery
(либо если у Вас уже создавался сценарий, то это сохранение можно просто перенести в новый проект со всему объектами своего сценария( только расположения фалов нужно проверять))
1.5 Далее жмём кнопку build в инспекторе и запустим scenery editor и попробуем сохранить, даже если там ничего нет. Если всё гладко, то должна подсветится кнопка save зелёным. Если нет, то SDK предложит выбрать путь сохранения, по умолчанию фаил xml (в нашем случае objects.xml должен располагаться по пути PackageSources\Scenery\youname\scenery
2.0 Теперь можем импортировать флаги. Для этого первым делом закроем наш проект и скопируем файлы флагов из архива - просто перетащите в корень проекта.
Файлы добавятся по правильному пути:
2.1 Далее перейдём откроем файл xml по пути из корня testsomobj\PackageDefinitions
В Фаиле находится информация папок и asset group Вашего проекта.
Из архива скопируем строчки и добавим ниже </AssetGroup> но перед </AssetGroups>
2.2 Откроем наш проект в msfs опять:
Можем наблюдать, что наши объекты как asset group добавились в корень проекта:
Снова сделаем через инспектор build package:
Дождёмся лога и если всё нормально, будет примерно так:
Далее закроем проект и откроем снова, и нажмём build опять.
ВАЖНО! - если пользуетесь редактором notepad C++ соглашаться на перезапись
Может случится так, что BGL будет два, ненужный удалить.
наш проект будет хранится по пути scenery для которого мы помещали xml фаил в папку PackageSources\Scenery\testobj\scenery
Иначе ниче ничего не получится и объекты будут недоступны.
2.3 Добавляем наши объекты в scenery editor (открываем как это было написано выше, через испектор файл bgl:
Переходим в раздел simobjects:
Справа выберем all и найдём наш проект, должно быть так:
Теперь просто добавим нажав add
————— На этом можно было бы и завершить, но мне захотелось сделать 4-й флаг, но с другой текстурой.
3.0 Для этого сохраним и закроем проект, чтобы не натворить случайно лишних действий.
3.1 скопируем объект для которого будем менять текстуру и название:
переименуем в другое название, мой выбор пал на newflagRus
——скопируем наше название——.
Далее переименуем все файлы и внутри файлов:
Откроем gltf файл текстовым и укажем там тоже новое название для bin файла (это в самом конце файла):
3.2 Далее интересно - нужно подправить xml, откроем текстовым редактором файл:
Первым делом переименуем тут:
Откроем в браузере guidgenerator (можно www.guidgenerator.com) и сгенерируем 5 guid
Следующем шагом переписать GUID в файле на новые, помним, что первые 4 - это дублирующие, а 5 только 1:
После копирования ( Внимательно следите, что GUID должен быть в кавычках и, что все символы скопированы:
3.3 Теперь добавим новую строчку в XML asset group по пути PackageDefinitions (как это делали ранее):
3.4 переделаем текстуру (расположена по пути PackageSources\SimObjects\Landmarks\newflagRus\texture) в любом удобном Вам редакторе для изображений и перезаписываем файл в png:
3.5 Проделываем в msfs всё тоже самое - откроем проект - проверяем в корне наш объект- делаем build- закрываем (ВАЖНО! - согласится на перезапись в notepad c++ если пользуетесь. Теперь добавляем как обычно в scenery editor :
=======================================================================
На этом всё, надеюсь статья будет Вам полезна! Если останутся вопросы всегда можно обратится в личное сообщение группы ThreeCubeStudio (vk.com)
или написать напрямую Дима Ерофеев (vk.com)
============Спасибо, за прочтение! ==========================