Jump to content


Пакетный импорт текстур в OpenSim


  • Please log in to reply
1 reply to this topic

#1 SOb Zemlja

SOb Zemlja

    Активный участник

  • Главные администраторы
  • PipPipPipPip
  • 799 posts
  • Пол:М
  • Откуда:Россия, Москва
  • Основной цех:Строители
  • Второй цех:Скриптеры
  • SL Status: 

Posted 29.09.08 - 16:58

Данное описание посвящено процессу автоматизации загрузки в OpenSim текстур с сохранением UUID, например, после выгрузки их из SLeekEI. Имя файла текстуры в этом случае является строкой UUID, расширение — jp2, к примеру, „6a721dc1-87be-4b72-9129-9f82fe5805c9.jp2“. Загружать текстуры будем в собственную папку в библиотеку на сервере, такая возможность предусмотрена разработчиками.

В папке 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#
Attached File  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, архив: Attached File  Opensim-users Custom Assets Folders.pdf   77.04K   30 downloads
Она-же онлайн.

#2 SOb Zemlja

SOb Zemlja

    Активный участник

  • Главные администраторы
  • PipPipPipPip
  • 799 posts
  • Пол:М
  • Откуда:Россия, Москва
  • Основной цех:Строители
  • Второй цех:Скриптеры
  • SL Status: 

Posted 06.07.11 - 20:34

Выложил исходный код на GitHub: https://github.com/SObS/AssetCompiler




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users