Заполнение ячейки
Вся территория виртуального мира ActiveWorlds разделена на ячейки размером 10x10 метров, увидеть которые можно, нажав F10. Каждая ячейка может хранить столько данных, сколько установлено в настройках мира.
Окно "Свойства объекта" в браузере ActiveWorlds
Плотность застройки
В большинстве миров в настройках указан самый высокий из возможных, пятый уровень плотности заполнения ячеек. Каждая ячейка в таком мире позволяет хранить данные объёмом 11000 байт (примерно 260 объектов без команд). Узнать это можно так: застроить максимально одну ячейку, выделить в ней один объект и посмотреть в строке "Заполнение" данные в скобках.
Что влияет на заполнение ячейки
- Метаданные объекта, такие как название модели, местоположение, владелец. Обычно при этом используется 45-55 байт, в среднем 49. Более длинные названия моделей занимают больше места, например, klen1.rwx состоит из 9 символов, используя 9 байт, тогда как mashinapog01.rwx использует 16 байт.
- Поля "Описание" и "Действие", где каждый символ = один байт.
- Объекты V4 рассчитываются отдельно, каждое числовое поле это 4 байта плюс буквы и др. знаки из строк (название текстур, ссылки, теги и т.п.):
- частица использует минимум 242 байта + знаки из строк, что эквивалентно примерно 4,9 объектам;
- одна зона использует 90 байт + знаки из строк (около 1,8 объектов);
- один транспорт использует 129 байт + знаки из строк (около 2,6 объектов);
- объект камеры использует 60 байт + знаки из строк (около 1,2 объекта).
Оптимизация строительства
Понимая, что влияет на процент заполненности ячейки, можно оптимизировать некоторые моменты в строительстве. Хотя самым действенным методом для обхода лимита на заполнение ячейки будет использование группы объектов AWG, но бывают ситуации, когда мелочи могут помочь "вытянуть" из лимита немного пространства для манёвра.
- Не используйте пробелы после запятых и точек с запятой.
- Не включайте https:// в URL-адреса.
- Исключите дополнительные переменные из команд move. Например, create move 10 то же самое, что и create move 10 0 0. Аналогично можно убирать нули в командах вращения, но не везде, в некоторых командах они имеют значение.
- Для команд color шестнадцатеричные коды цветов часто короче словесных.
Например, create color 0 то же самое, что и create color black, но на 4 байта меньше.
Также можете пропустить первые нули в шестнадцатеричном коде. Например, create color 000250 то же самое, что и create color 250.
Но в некоторых случаях обозначения цвета словом короче шестнадцатеричных кодов: create color white на один байт меньше, чем create color ffffff. - Не пишите команды, которые работают по умолчанию. Например, в текстовых табличках по умолчанию уже используется шрифт белого цвета, поэтому не надо писать create sign color=white.
- В табличках с текстом непосредственно текст лучше размещать в поле "Описание", а не "Действие", так он занимет меньше места при подсчёте лимита.
- В командах звука вместо create sound helikopter.mp3 можете использовать sound:helikopter.mp3.
- В объектах, которые невидимы и используются только для определённых команд, используйте модель с коротким именем файла.
- В мирах без регистри не пишите расширение .rwx или .cob в объектах.
- При планировании строительства можно учесть расположение клеток террайна и строить так, чтобы распределить максимальное количество объектов между клетками, а не сгруппировать их внутри одной.
- Используйте максимально большие модели из возможных. Лучше построить одну стену wall00_6.rwx чем две wall00_3.rwx.
- Если лимит совсем исчерпан, можно построить необходимую модель в соседней ячейке и "придвинуть" её командой типа create move 10 time=0 wait=9e9. Однако обилие таких команд увеличит "тормоза" в локации.
- Некоторые виды частиц можно построить не в гуще объектов, а в соседней ячейке и, настроив частицу, получить аналогичный эффект.
- Иногда можно развернуть модель так, чтобы её центр пришелся на более "легкую" ячейку.
В любом случае, действуйте так, как вам удобно. Лучшее руководство - здравый смысл.
Для статьи использовалась информация с сайта swcity.net.