Файлы Unity * .meta, SVN и внешние общие репозитории

У меня есть несколько Unity Pro (4.5), и все эти проекты должны иметь общий репозиторий ресурсов SVN. В основном это скрипты, но могут быть и другие активы.

Первоначально я установил это, используя свойства svn: external в соответствующих каталогах. Однако это не работает. Поскольку файлы * .meta создаются для каждого проекта. По этой причине я не могу зафиксировать файлы * .meta в общих репозиториях. Это в конечном итоге приводит к нарушению ссылок на активы.

Как правильно создать общий внешний репозиторий между несколькими проектами Unity? Возможно ли это с тем, как Unity обрабатывает файлы * .meta?


person Zeenobit    schedule 19.03.2015    source источник
comment
Ознакомьтесь с документами, если вы еще не сделали этого. Я думаю, вам тоже следует загружать файлы .meta.   -  person Andy    schedule 20.03.2015
comment
@ Энди Я уже прошел через это, и вот как я создал проект. Однако означает ли это, что я должен также зафиксировать файлы * .meta во внешнем общем репозитории? Разве метафайлы не менялись бы в разных проектах?   -  person Zeenobit    schedule 20.03.2015


Ответы (1)


Мета-файлы необходимы для ссылок на ресурсы. Они дают ассетам их гиды, которые используются при сериализации сцен, сборных блоков и т. Д. Поэтому, если вы помещаете сцену или сборный объект в репозиторий, то каждый актив, на который имеется ссылка, также должен иметь свои мета-файлы. Если вы этого не сделаете, Unity сгенерирует новые метафайлы для ваших ресурсов и предоставит им случайные идентификаторы, нарушив все ссылки.

Таким образом, ваш общий репозиторий должен содержать метафайлы всех содержащихся в нем активов. Если вы не сделали этого с самого начала, вам следует начать сейчас. Откройте один из проектов, исправьте все неработающие ссылки и зафиксируйте все метафайлы вместе с любыми другими изменениями объектов, которые принадлежат к общему репозиторию. Затем в каждом другом проекте, который использует общий репозиторий, вытяните и перезапишите все. Если сейчас появляются какие-либо неработающие ссылки, то они должны быть только из местных сцен. Исправьте и их.

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

person Tubeliar    schedule 24.03.2015
comment
Похоже, что фиксация файлов * .meta пока работает для нас. У меня создалось впечатление, что Unity изменяет файлы * .meta, если вы переключаете проекты. Но похоже, что это не так. Спасибо за разъяснения! - person Zeenobit; 26.03.2015