В папке opensim\assets находим AssetSets.xml и стираем и „“ вокруг кода:
<Section Name="My Asset Set">
<Key Name="file" Value="MyAssetSet/MyAssetSet.xml"/>
</Section>
Создаём папку opensim\assets\MyAssetSet
В папке opensim\inventory находим Libraries.xml и стираем и „“ вокруг кода:
<Section Name="My Site Library">
<Key Name="foldersFile" Value="MySiteLibrary/MySiteLibraryFolders.xml"/>
<Key Name="itemsFile" Value="MySiteLibrary/MySiteLibraryItems.xml"/>
</Section>
Создаём папку opensim\inventory\MySiteLibrary
Сами файлы (текстуры) нужно скопировать в opensim\assets\MyAssetSet.
Дальше нужно создать файлы:
opensim\assets\MyAssetSet\MyAssetSet.xml
opensim\inventory\MySiteLibrary\MySiteLibraryFolders.xml
opensim\inventory\MySiteLibrary\MySiteLibraryItems.xml
и описать в них элементы библиотеки.
Для автоматического создания XML файлов была написана программа на C#
AssetCompiler.exe.zip 2.51K
15 downloadsПоместите её в каталог с файлами текстур, запустите и скопируйте получившиеся XML в соответствующие папки.
Структура XML
для любознательных
Каждый XML файл формируется из секций вида:
<Nini>
<Section Name="aaa">
…
</Section>
<Section Name="bbb">
…
</Section>
<Section Name="zzz">
…
</Section>
<Nini>
Файл opensim\assets\MyAssetSet\MyAssetSet.xml состоит из секций вида:
<Section Name="название_элемента">
<Key Name="assetID" Value="uuid_элемента" />
<Key Name="name" Value="название_элемента" />
<Key Name="assetType" Value="0" />
<Key Name="inventoryType" Value="0" />
<Key Name="fileName" Value="имя_файла_на_диске" />
</Section>
Файл opensim\inventory\MySiteLibrary\MySiteLibraryFolders.xml состоит из секций вида:
<Section Name="название_папки">
<Key Name="folderID" Value="уникальный_uuid_папки"/>
<Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
<Key Name="name" Value="название_папки"/>
<Key Name="type" Value="0"/>
</Section>
Значение „parentFolderID“ фиксировано — это UUID корневой папки.
Файл opensim\inventory\MySiteLibrary\MySiteLibraryItems.xml состоит из секций вида:
<Section Name="название_элемента">
<Key Name="inventoryID" Value="uuid_элемента" />
<Key Name="assetID" Value="уникальный_uuid" />
<Key Name="folderID" Value="uuid_папки_с_элементом"/>
<Key Name="description" Value="описание_элемента" />
<Key Name="name" Value="название_элемента" />
<Key Name="assetType" Value="0" />
<Key Name="inventoryType" Value="0" />
<Key Name="currentPermissions" Value="2147483647" />
<Key Name="nextPermissions" Value="2147483647" />
<Key Name="everyonePermissions" Value="2147483647" />
<Key Name="basePermissions" Value="2147483647" />
</Section>
Возможные значения полей „assetType“/„inventoryType“:
- Accessories : 8
- Animations : 20
- BodyParts : 13
- Clothing : 5
- Gestures : 21
- Landmarks : 3
- Notecards : 7
- Objects : 6
- Photo Album : 15
- Scripts : 10
- Sounds : 1
- Textures : 0
uuid_элемента, его название, поле с описанием и имя файла на диске одинаковые и у нас уже есть,
uuid_папки должен быть сгенерирован для каждой папки,
уникальный_uuid должен быть сгенерирован для каждого элемента в MySiteLibraryItems.xml.
Обсуждение темы Custom Assets Folders в рассылке OpenSim, архив:
Opensim-users Custom Assets Folders.pdf 77.04K
30 downloadsОна-же онлайн.









