• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
[UNION] Spacer.NET

Готика 2: НВ [Редактор миров] Spacer.NET 1.05

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
  • Первое сообщение
  • #1
Spacer.NET

Версия игры: "Готика 2 - Ночь Ворона" (поддерживается только эта версия) и моды на нее
Страна разработчика:
Россия
Тип: Плагин для Union
Рабочее название: Spacer.NET
Версия: стабильная
Язык: Русский, English, German, Polish
Вес: ~2 МБ

Автор: LikerGothic
Разработчики: LikerGothic, Haart, Saturas, Gratt, Jr13San
Тестеры: Haart, Adept, Jr13San


Статус: выходят обновления
Требования: .NET Framework 4.0, Union 1.0l+

Исходный код:

Описание: Что, еще один спейсер? Да, еще один :) Данный спейсер в первую очередь предназначен для вобинга, т.е. наполнения локаций предметами.

Основные цели:
  • Максимальная автоматизация процесса вобинга
  • Удобство в работе
  • Нелагающий интерфейс
Основные фишки:
  • Максимально похожий по виду интерфейс на старый спейсер
  • Иерархичное копирование вобов (дети-вобы копируются вместе с родителем)
  • Удобная манипуляция вобом (коллизии не мешают его перемещать и вращать)
  • Изменение родителя для воба
  • Некоторые настройки "под себя"
  • Предпросмотр моделей, PFX-эффектов, итемов
  • Поддержка VobTree
  • Поддержка extended-классов (можно через Юнион создать воб нового типа, и он будет здесь работать)
  • Удобное редактирование содержимого сундуков
  • Настройки отображения FPS, кол-ва вобов и т.д.
  • Поддержка dx11 Ссылка (spacer_net требует особой версии dx11, она по ссылке)
1.JPG
2.JPG
3.JPG
4.JPG
5.JPG
6.JPG
7.JPG
8.JPG
9.JPG
10.JPG
11.JPG
12.JPG
13.JPG
14.JPG

Управление можно настроить под себя в специальном окне.

Камера:

Зажать ПКМ + WASD перемещение, вверх - пробел, вниз - X, перемещать мышь для вращения камеры.
Колесико мышки - быстрое перемещение в направлении взгляда

Управление выделенным вобом:
  • Выделение воба : ЛКМ, расширенное выделение: левый ctrl+ЛКМ (выделение vobAnimate, некоторой травы)
  • Клавиша 1 - режим перемещения воба (WASD)
  • Клавиша 2 - режим вращения воба (WASD)
  • Клавиша 3 - соединить/разъединить два вейпоинта (один выделяется через shift+ЛКМ, второй просто выделяется, всё как в старом спейсере)
  • Клавиша 4 - снять выделение с воба
  • Клавиша 5 - переместить выделенный воб перед камерой
  • Клавиша 6 - выбрать режим редактирование bbox объекта (для муверов, зон музыки и тд)
  • Клавиши Q/E - вращение воба вокруг вертикальной оси
Модификаторы:
  • LShift - ускорение перемещения/вращения в 10 раз
  • LControl- замедление перемещения/вращения в 10 раз
Сочетания клавиш:
  • Shift+F прижать воб к поверхности (работает через динамическую коллизию)
  • Shift+R сбросить поворот воба по трем осям, нажимать можно несколько раз
  • Control+C, Control+V - скопировать воб и вставить
  • Control+Z, Control+V - вставить выделенный воб в нового родителя (изменение родителя)
Прочее:
  • ПКМ на выбранной модельке в окне поиска визуалов: скопировать имя модели в буфер
  • ПКМ на списке вобов: удалить воб, сохранить vobTree, вставить vobTree
  • F1 - собрать вобы в vobContainer в выбранном радиусе...
  • F2 - вставить вейпоинт со сгенерированным именем (должен быть выделен другой вейпоинт)
  • F3 - скрыть/показать окна
  • После загрузки спейсера ничего не нажимается, меню неактивно. Ответ: зайти в gothic.ini и проставить там ваше разрешение экрана вручную. zVidResFullscreenX=1920, zVidResFullscreenY=1080 (как пример)
  • Зажимаю правую клавишу мыши, камера не летит/не вертится. Ответ: зайдите 1 раз в игру (до главного меню), чтобы в systempack.ini записались нужные строки и выйдите. Всё заработает
  • В глобальный список вобов локации самостоятельно добавляются какие-то вобы. Зачем? Ответ: это дочерние вобы от PFX-эффектов. Они добавляются, когда камера подлетает к ним или вы делаете предпросмотр некоторых эффектов из меню, и pfx-эффект активируется. Они не сохраняются в ZEN, так что они не опасны.
  • Как сбросить управление на "по умолчанию"? Ответ: зайти в меню с кнопками и нажать "сбросить по умолчанию"
  • Что за звук падения оружия на землю? Ответ: когда мир загрузился или скомпилился, воспроизводится такой звук-оповещение, потом заменим, если не понравится.
  • После загрузки мира вылет. Ответ: скорее всего ваши скрипты используют Lego/Ikarus, выключите пункт "Отключать музыку при загрузке" в окне звуков.
  • Спейсер вылетает при каких-то действиях: отписать в тему, но скорее всего, у вас используются другие плагины Union/Ninja, которые мешает работе спейсера.

  1. Установить Готику 2 Ночь Ворона
  2. Установить gothic2_playerkit-2.6f/g2mdk-2.6_FULL с распаковкой нужных ресурсов для спейсера
  3. Установить Union 1.0l из Resource manager
  4. Поместить spacer_net.ini в папку system (это нужно сделать только один раз, при обновлении заменять его не нужно)
  5. Поместить SpacerNET.mod в папку Data/ModVDF (при обновлении версий, просто закидывать этот обновленный файл с заменой)
  6. Запустить игру один раз, чтобы появились нужные строки в ини-файлах игры (после установки юниона)
  7. Запустить GothicStarter.exe и там выбрать Spacer.NET
Скачать: По кнопке сверху (Ссылка)
Макросы позволяют немного автоматизировать компиляцию/загрузку миров.
  • Принцип работы макроса: 1 строка - 1 команда
  • SpacerNET хранит макросы в файле _work/tools/macros_spacernet.txt
  • Оригинальный Spacer хранит макросы в файле _work/tools/Macros.zmf
  • 123.jpg
Таблица с командами

КомандаЧто делает ПримерКомментарий
RESETсбрасывает мирRESETобязательно идет первым, если дальше вы хотите что-то загрузить
LOAD MESH <Путь до файла 3DS>загружает 3DS файл мешаLOAD MESH ADDON5.3DS
LOAD MESH TESTFOLDER\WORLD7.3DS
файл ищется в папке _work\data\Meshes\
Также можно указывать подпапки
Можно использовать несколько таких команд друг за другом
LOAD WORLD <Путь до файла ZEN>загружает ZEN файл в любом форматеLOAD WORLD TEST_MAP.ZEN
LOAD WORLD FOLDERS/TEST_17.ZEN
файл ищется в папке _work\data\world\
Также можно указывать подпапки
Можно использовать несколько таких команд друг за другом
COMPILE WORLD <TYPE>компилирует мир, доступны две опции INDOOR, OUTDOORCOMPILE WORLD OUTDOOR
COMPILE WORLD INDOOR
доступны две опции INDOOR, OUTDOOR
COMPILE LIGHT <TYPE>Компилирует свет, доступны 4 опции (3-й аргумент): VERTEX, LOW, MID, HIGHCOMPILE LIGHT MIDКомпилирует свет, доступны 4 опции (3-й аргумент): VERTEX, LOW, MID, HIGH
SAVE MESH <Путь до файла <MSH>Сохраняет меш локации в отдельный файлSAVE MESH LOC.MSHфайл сохраняет в папке _work\data\Meshes\
Также можно указывать подпапки
Сохраняет меш локации в отдельный файл, этот файл потом можно импортировать в 3d-редактор
SAVE WORLD <TYPE> <Путь до файла>Сохраняет мир (ZEN) отдельный файл. Доступны две опции BIN, ASCII, UNC
ASCII - полноценный мир
UNC - только вобы
SAVE WORLD ASCII 5.ZEN
SAVE WORLD UNC 7_VOBS.ZEN
файл ищется в папке _work\data\world\
Также можно указывать подпапки
Можно использовать несколько таких команд друг за другом

Примеры макросов
МакросКомментарий

RESET
LOAD WORLD ADDON\ADDON_PART_BANDITSCAMP_01.ZEN
COMPILE WORLD OUTDOOR
COMPILE LIGHT LOW
SAVE MESH FOLDER\ADDON_TEST_SPACER.MSH
//что-то написано
1231232dSDA1232123
COMPILE WORLD
LOAD MESH

Сброс всего
Загружает ZEN-мир ADDON_PART_BANDITSCAMP_01.ZEN
Компилирует мир в OUTDOOR
Компилирует свет в LOW
Сохраняет меш локации в файл ADDON_TEST_SPACER.MSH
Комментарий
Какая-то строка, не будет выполнена
Нет имени мира, не будет выполнено
Нет имени файла, не будет выполнено
Фильтр материалов - окно, в котором вы можете настраивать свойства материалов, используемые готикой. Эти свойства находятся в движке готики и не могут быть заданы в 3d редакторе (3dmax/blender). Именно поэтому, материалы нужно 1 раз настроить дополнительно для движка готики в этом инструменте.

Работа с фильтром материалов:
  1. Загрузите любой мир (3ds или ZEN)
  2. Откройте окно материалов (иконка с горизонтальными полосками)
    filter1.jpg

  3. Есть 2 пути работы с фильтром:
    а) или заранее создать материалы (до компиляции мира или воба), настроить их, и при компиляции они подхватятся. Имя материала в фильтре строго равно имени в 3d-редакторе.
    б) или загрузить мир или воб, найти его материал (он появится во вкладке [TRASH], если он не был до этого уже добавлен), настроить, скомпилировать снова
Возможности фильтра и основные функции:
  • Файлы Фильтра материалов хранятся в work\tools\data\
  • При первом сохранении конкретного фильтра (файла), SpacerNET создает резервную копию фильтра в папке spacernet_backups, которая будет там же

Работа с библиотекой (списком) фильтров:
libFilter.jpg

  1. Библиотека фильтров (список подгружается из файла matlib.ini, 1 фильтр = 1 файл PML, в котором хранятся свойства материалов)
  2. Создает новый фильтр
  3. Переименовывает выбранный фильтр
  4. Удаляет фильтр (если в нем нет материалов, т.е. пустой)
  5. Сохраняет файл с библиотекой фильтров (сохранение вызывается также автоматически при закрытии программы)
Работа с выбранным фильтром:
filterSelected.jpg


  1. Здесь показывается материалы конкретного выбранного фильтра, а также их кол-во
  2. Поиск материала, здесь можно ввести имя интересующего материала, поиск по всем загруженным в данный момент в движок материалам, т.е. глобальный
  3. Информация о текстуре выбранного материала (или цвет, если текстуры нет)
  4. Настройки предпросмотра текстуры, показывать ли альфа-канал, центровать картинку по центру и т.д.
Изменение свойств материала:
filterChange.jpg

  1. Задает фильтр для выбранного материала (изменился фильтр -> материал попадает туда)
  2. Задает группу для выбранного материала (тип поверхности, WATER/METAL/WOOD...)
  3. Если активно, то при применении свойств [и если материал переместится в новый фильтр] выделение останется на материале, иначе выделение останется в текущем фильтре (может не совсем понятно описано, но поймете на практие)
  4. Если активно, то последний выбранный фильтр будет выбираться для любых выбранных материалов (удобно, если нужно переместить в один и тот же фильтр много материалов)
  5. Применяет изменение для материала (но не сохраняет изменение фильтре на диск)
Сохранение изменений:
filterSaveMisc.jpg

  1. Чтобы сохранить изменения в файлы фильтров, нажмите кнопку "Сохранить изменений". Её не нужно жать после изменения каждого материала, система следит за изменением в любом из фильтров и сохраняет все изменения за один раз. Т.е. можно поменять 10-20 материалов, и потом 1 раз нажать.
  2. Создает новый материал, полезно, когда вы хотите настроить материал заранее
  3. "Окно свойств" синхронизировано с "Фильтром материалов", в нем вы также можете настраивать свойства материала.
  4. Инструмент выделения полигонов (пипетка) также синхронизирован с Фильтром материалов и окном свойств. Можно выбирать полигоны на локации и менять свойства их материалов
 
Последнее редактирование:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.102
Благодарности
6.070
Баллы
1.565
По поводу 4 пункта не уверет, даже не знаю что это такое.
Та и фиг с ним)), раз есть кнопка "5",то можно и без этого обойтись.
Может эти горячие клавиши на панель вывести? :oops:
А делалось оно так:
Камера перемещалас в середину объекта(воба), воб при этом привязывался к камере, и при перемещении камеры - соответственно перемещался и сам воб.
Компиляция мира снова
я тормоз))
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
MEG@VOLT, ужос какой) ну ладно.
Ну в принципе в настройках клавиш большинство комбинаций есть)
 

Lev-Lion


Модостроитель
Регистрация
25 Апр 2006
Сообщения
178
Благодарности
273
Баллы
230
3) в будущем сделаю, хотя мне лично не понятно зачем эта одновременность, это же разные типы движения
Надо надо! Таким динозаврам с 12 летним стажем как мы это просто необходимость. И еще не забыть, чтобы режим этот мог включаться и выключаться быстрой клавишей. Ато ненарокм отпустить правую клавишу мыши и твой воб полетит куда нибудь в сторону...
 

LuckyMo

Участник форума
Регистрация
19 Дек 2022
Сообщения
19
Благодарности
1
Баллы
25
DB95, а в материале прописана эта текстура? Имя материала должно быть уникально + модель должна быть из треугольников + каждый раз вручную нужно удалять скомпилированную модель и закрывать спейсер, чтобы в след раз снова скомпилить модель)
Привет. У меня такая же проблема. Некоторые модели (чаще всего которые представляют собой кубы и т.п) у меня после открывания в спейсере принимают текстуру другой модели. которую я делал некоторое время назад. Мне нужно каждый рад перед редактированием карты удалять MRM файлы этих моделей или какой выход?
Еще вопрос по материалам. Я правильно понял, что имя материала нужно использовать такое же, как и имя текстуры на нем? Работаю в блендере. Спасибо!
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
Lev-Lion, пока что времени нет) Занимаюсь своим модом.
LuckyMo, имя материала должно быть уникально, (разные модели могут использовать один и тот же материал), имя материала может называться как угодно, с именем текстуры материал никак не связан.

Т.е. 2 разных материала могут использовать одну текстуру. Но! Если у тебя есть 2 материала с одинаковым именем, но разными текстурами = это ошибка. В игре материал будет глючным.

MRM - это скомпилированный движком 3ds файл, если ты хочешь, каждый раз модельку в игре смотреть, то да, надо удалять mrm файл.
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
674
Благодарности
655
Баллы
245
А можно как-нибудь быстро конвертировать один класс объектов в другой?
Например zCVob в ZCMover?
 

Lev-Lion


Модостроитель
Регистрация
25 Апр 2006
Сообщения
178
Благодарности
273
Баллы
230
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
neromont, нет, я конвертор не делал, там что-то сложное было, так что для конвертации старый спейсер есть, хотя это очень редкая функция, это надо сильно накосячить, чтобы перепутать классы вобов (было пару раз :D )
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
674
Благодарности
655
Баллы
245
neromont, нет, я конвертор не делал, там что-то сложное было, так что для конвертации старый спейсер есть, хотя это очень редкая функция, это надо сильно накосячить, чтобы перепутать классы вобов (было пару раз :D )
Да нет. Просто сначала вставил простой VOB, а потом решил сделать MOVer. Просто пересоздал заново. А так было бы удобно в списке VOB-ов щелкнул ПКМ->конвертировать в... Ну это очень муторно. Согласен.
 

LuckyMo

Участник форума
Регистрация
19 Дек 2022
Сообщения
19
Благодарности
1
Баллы
25
Neromont спрашивал о вставке vobtree и у меня такой же вопрос. Я сохранил vobtree (свечка, огонь, свет) на одном zen. Как мне его вставить в другом zen мире? Или вставка возможна только в том же zen, где был создан vobtree?
 

Архол

★★★★★★★
Модератор
Регистрация
18 Май 2017
Сообщения
3.652
Благодарности
2.324
Баллы
715
Neromont спрашивал о вставке vobtree и у меня такой же вопрос. Я сохранил vobtree (свечка, огонь, свет) на одном zen. Как мне его вставить в другом zen мире? Или вставка возможна только в том же zen, где был создан vobtree?
В окне списка объектов правой кнопкой и выбираешь способ вставки - или глобально или в конкретный воб.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
LuckyMo, когда ты сохранил в отдельный файл vobtree его можно вставить в любой зен. "В окне списка объектов правой кнопкой и выбираешь способ вставки - или глобально или в конкретный воб."
 

LuckyMo

Участник форума
Регистрация
19 Дек 2022
Сообщения
19
Благодарности
1
Баллы
25
К сожалению я так и не понял, как вставить vobtree в мир, где этих вобов нет изначально. Я имел ввиду возможно ли открыть vobtree (предположим свечи) в zen мире, где этой самой свечки нет? Если это невозможно, то извиняюсь за глупые вопросы : )
UPD: всё, разобрался! Спасибо за помощь!
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
Lev-Lion, "Collect sources для муверов и zCMessageFilter работают только для обычного класса триггера, что не есть хорошо. Нужно чтобы zCTriggerList также был задействован. " - а можно пример готового воба такого? Потому что я не работал с классами zCMessageFilter и zCTriggerList. Вообще по коду там нет никаких проверок на определенный класс, код взят из старого спейсера. Так что сделай vobTree, я когда буду делать это, посмотрю, потому что у меня нет примера щас как должно работать. (на будущее)
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.817
Благодарности
5.220
Баллы
910
Lev-Lion, "Collect sources для муверов и zCMessageFilter работают только для обычного класса триггера, что не есть хорошо. Нужно чтобы zCTriggerList также был задействован. " - а можно пример готового воба такого? Потому что я не работал с классами zCMessageFilter и zCTriggerList. Вообще по коду там нет никаких проверок на определенный класс, код взят из старого спейсера. Так что сделай vobTree, я когда буду делать это, посмотрю, потому что у меня нет примера щас как должно работать. (на будущее)
ловушка воров сделана с использованием zCMessageFilter
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
LikerGothic обновил(а) ресурс [UNION] Spacer.NET новой записью:

0.37

  1. Добавлена возможность искать WP, не соединенные в общую сеть
  2. WP теперь выделяется сразу, если выбрать его из интерфейса
  3. В строки с латиницей теперь можно вводить символ /
  4. Исправлены мелкие ошибки
  5. Добавлен фильтр выделения вобов. Теперь можно выбирать вобы определенного типа. Находится в Контейнере вобов
  6. Добавлен пресет окон для QuadHD разрешения
  7. Анимация выделения второго WP на dx11 теперь работает
  8. Для классов zCTrigger, zCTriggerList, oCCSTrigger...

Узнать больше об этом обновлении...
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
Lev-Lion, в окно триггеров добавил кнопки для других классов, правда я не тестил особо, не уверен что это будет стабильно работать. Потом проверь, если хочешь.

Добавлен фильтр выделения вобов. Теперь можно выбирать (на сцене) вобы только определенного типа. Находится в Контейнере вобов - к примеру, только вейпоинты или вобы с коллизией (игнор травы и PFX) и так далее. Или только oCMOB. Удобно.
 

Lev-Lion


Модостроитель
Регистрация
25 Апр 2006
Сообщения
178
Благодарности
273
Баллы
230
У меня пожар с переустановкой винды. Завтра - послезавтра займусь тестом редактора.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.458
Благодарности
2.020
Баллы
365
Lev-Lion, ага, я все равно пока обновой занимаюсь и на спейсер времени нет, чисто сделал мелочи пока было время и желание.
 

Lev-Lion


Модостроитель
Регистрация
25 Апр 2006
Сообщения
178
Благодарности
273
Баллы
230
Triggerlist это триггер который активирует несколько целей (до 6 шт) в отличает от обычного триггер класса. Пример триггерлиста в Хоринисе - активация телепорта в Яркендар (EVT_ADDON_TROLLPORTAL_GAME_EVENT_START_01). Благодаря этому классу возможно делать сложные ловушки, механизмы и тд... Самый ценный триггер класс. Может вполне заменить обычный одиночный триггер.
 
Сверху Снизу