yurickon Posted March 27 Posted March 27 Приветствую, уважаемые разработчики! После миграции до последней версии движка, получил уж совсем печальный результат. 1. Terrain не загрузился полностью. Отсутствуют маски, клаттеры.. 2. В консоли просто бесконечное число ошибок: и. так далее... 3. Не работает MV Studio. Я даже обновил свою старенькую 22 года на 26 год, мало ли думаю, но и там и там одинаковый результат Компоненты не загружаются: 4. У большинства компонентов в редакторе пропали все поля: В общем проект лёг капитально( Глядя на всё это, скажите, пожалуйста, мне откатываться на старую версию, или есть всё-таки шанс работать в новой? Эх, а так хотелось бы попробовать новую систему анимации... Огромное спасибо за любую помощь!
arizmenda Posted March 27 Posted March 27 Здравствуйте! Да, проблема воспроизводится. Уже изучаем на проекте, который вы присылали ранее (ноябрь 2025г.) Что касается ошибок, связанных с пропертями - часть кода потребуется мигрировать вручную. Информация об изменениях и рекомендации приведены в гайде: https://developer.unigine.com/en/docs/2.21/upgrade/migration_api?implementationLanguage=cs&precision=d В частности, необходимо заменить ObjectMeshSkinned на ObjectMeshSkinnedLegacy (это связано с обновленной системой анимации). Также в AppWorldLogic больше не поддерживаются методы Save/Restore: https://developer.unigine.com/en/docs/2.21/upgrade/migration_api#save_restore Дополнительно обратите внимание: начиная с версии 2.21 в C#-компонентах допускается только один класс компонента на файл, и он должен быть объявлен с модификатором partial. В связи с этим также потребуется привести код к новым требованиям: https://developer.unigine.com/en/devlog/20260327-unigine-2.21#no-property-guids-in-c-components Мы также вынесем эту информацию в гайд по миграции API. По вопросам, связанным с террейном и другими компонентами, продолжаем разбираться. Постараемся вернуться с обновлением в понедельник. 1
yurickon Posted March 27 Author Posted March 27 @arizmenda спасибо за быструю реакцию!) Похоже, придётся серьёзно покопаться в коде..
vvvaseckiy Posted March 27 Posted March 27 Здравствуйте! Что касается проблемы с террейном, воспроизвели и локализовали ошибку в миграции. Исправим в предстоящем хотфиксе. Проблема в том что при апгрейде выставились некорректные значения Data в параметрах LandscapeLayerMap. Сейчас что-бы вернуть прежний вид можно сделать следующее: 1. Изменить значения параметров Data переключив Mask with Opecity на Only Mask в параметрах .lmap ассета 2. Нажать Apply (Не нажимайте Reimport что-бы не потерять ручные правки в террейне) Приносим извинения за доставленные неудобства 1
yurickon Posted March 27 Author Posted March 27 (edited) @vvvaseckiy Приветствую! Да, ландшафт починил, круто, спасибо! вот бы еще как-то заставить IDE-шку загружаться, вернее скрипты в ней, что бы начать править код под версию движка 2.21... при запуске студии выходит следующее: окно вывод: Почему студия не отображает компоненты проекта? Проверено на версиях 22 и 26. При запуске проекта из редактора в консоли следующие ошибки: Что-то не так с файлами скриптов, движок их не находит, хотя они, конечно же на месте. Большое спасибо за помощь!) Edited March 27 by yurickon
sevas55 Posted March 28 Posted March 28 Присоединюсь к теме. После миграции у меня в целом всё заработало, но как всегда есть но Не могу назначить новый скрипт ни на одну ноду - появляется значок стоп. При этом в корне проекта создается файл *.prop с именем созданного скрипта и вот его уже можно назначить на ноду, правда не появляется значок карандаша. Прилагаю проект без текстур, ландшафта и моделей, в нем проблема воспроизводится.
silent Posted March 30 Posted March 30 @sevas55 Спасибо, посмотрим. Как минимум уже видно, что было использовано зарезервированное папки - data/scripts, лучше эту папку переименовать (хотя бы в my_scripts). Но также в проекте есть другие ворнинги, связанные со скриптами, пока неясно откуда они, надо время чтобы разобраться дальше. @yurickon А что там в Siberian.csproj на 56 строке? Когда мигрировали ваш проект он прекрасно собирался без этих ошибок (но у нас была версия от ноября прошлого года примерно). Можно создать пустой проект на C# в 2.21 и сравнить оба .csproj, может станет ясно как его подправить. В Visual Studio Code такая же ошибка? Спасибо. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
yurickon Posted March 30 Author Posted March 30 @silent Спасибо за наводку. Доберусь до дома, проверю, отпишусь по результатам.
silent Posted March 30 Posted March 30 @sevas55 Проблема оказалась в том, что .csproj не смигрировался (хотя в логе написано что миграция прошла успешно). Поправленный файл в аттаче. Нужно будет также руками снести сгенерированные .prop файлы, чтобы избежать их двоения в Asset Browser. Новые .csproj файлы содержат больше информации, в частности добавились следующие параметры: // condition debug <Analyzer Include="bin\UnigineCSPropertyBinder_double_x64d.dll"/> <UnigineSharpLibPath Include="bin\UnigineSharp_double_x64d.dll"/> // condition release <Analyzer Include="bin\UnigineCSPropertyBinder_double_x64.dll"/> <UnigineSharpLibPath Include="bin\UnigineSharp_double_x64.dll"/> Также добавилась информация о версии движка: <Target Name="UnigineVersionDefines" BeforeTargets="CoreCompile" Condition="'@(UnigineSharpLibPath)' != '' AND Exists('@(UnigineSharpLibPath)')"> <GetAssemblyIdentity AssemblyFiles="@(UnigineSharpLibPath)"> <Output TaskParameter="Assemblies" ItemName="LibAssemblyInfo"/> </GetAssemblyIdentity> <PropertyGroup> <UnigineLibVersion>%(LibAssemblyInfo.Version)</UnigineLibVersion> </PropertyGroup> <PropertyGroup Condition="'$(UnigineLibVersion)' != ''"> <VersionMajor>$([System.Version]::Parse('$(UnigineLibVersion)').Major)</VersionMajor> <VersionMinor>$([System.Version]::Parse('$(UnigineLibVersion)').Minor)</VersionMinor> <VersionPatch>$([System.Version]::Parse('$(UnigineLibVersion)').Build)</VersionPatch> <VersionRevision>$([System.Version]::Parse('$(UnigineLibVersion)').Revision)</VersionRevision> </PropertyGroup> <PropertyGroup Condition="'$(UnigineLibVersion)' != ''"> <DefineConstants>$(DefineConstants);UNIGINE;UNIGINE_VERSION_MAJOR_$(VersionMajor);UNIGINE_VERSION_MINOR_$(VersionMinor);UNIGINE_VERSION_PATCH_$(VersionPatch);UNIGINE_VERSION_REVISION_$(VersionRevision);UNIGINE_VERSION_$(VersionMajor)_$(VersionMinor)_$(VersionPatch)_$(VersionRevision)</DefineConstants> </PropertyGroup> Спасибо. XPLORER_Black_Sea_Science.csproj 1 How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
yurickon Posted March 30 Author Posted March 30 (edited) Итак, мои изыскания. При попытке открыть файл Siberian.csproj после миграции на 2.21, выдаёт ошибку: При открытом же этом файле нельзя прочитать xml текст, что бы посмотреть что не так со строчкой 56 : Новый же проект в версии 2.21 прекрасно работает. Прикрепляю 2 файла проектов - 20 и 21 версий. С большим объемом памяти - 21 версия. Да, пробовал подменить этот файл из рабочей версии 2.20, получил массу ошибок.. Siberian.csproj Siberian.csproj Даже не знаю что тут можно сделать.. И еще, при попытке открыть мигрированный файл Siberian.csproj вывалилась такая ошибка: Edited March 30 by yurickon
silent Posted March 30 Posted March 30 Почему-то на полпути миграция прекратилась и не добавила нужных строк в конец .csproj. При обработке списка сырцов произошло что-то странное, даже имя исходника не вписалось: Не подскажете как мигрировали проект? Может .csproj был открыт в этот момент в студии или в редакторе? Версия SDK Browser была 2.1.0? Можете повторить, восстановив проект из бэкапа -- будет ли всегда портиться одинаково .csproj или всегда по-разному (или может вообще не будет больше)? Поправленный .csproj можно найти в аттаче (каким он должен быть после успешной миграции). Спасибо. Siberian_new_fixed.csproj How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
yurickon Posted March 30 Author Posted March 30 Миграция проходила как всегда - всё лишнее закрыто: и редактор и IDE. Только браузер SDK, версия 2.1.0 (build 12610) Второй раз мигрировал - ситуация повторилась в точности. Ваш аттач сработал, в IDE появились скрипты, ушла ошибка при запуске, но большинство компонентов не показывают поля в редакторе и соответственно куча ошибок и в свойствах скриптов пустота: Пока как-то так..
silent Posted March 30 Posted March 30 Ошибки компиляции компонент нужно чинить руками, мигрировать код по гайду. Александр уже написал это выше: 1 How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
yurickon Posted April 5 Author Posted April 5 Миграция игры на новую версию движка близится к финалу. Удалил все проперти, заменил их компонентами. Переназначаю их данные полей в редакторе. Некоторые скрипты переписываю с нуля. Например, начало изменения погоды и её тип, теперь будет назначаться не из редактора как до миграции, а генерироваться из скрипта в случайном порядке, или, материалы для света окно домов так же находятся в скрипте через materiall.LoadMaterial(path) и т.п. Большое спасибо за поддержку команде UNIGINE!
Recommended Posts