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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, спешите принять участие в поэтическом конкурсе "Весенние поэты 2024"!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык
Spacer.NET - редактор миров [G1 & G2NR]

Готика 2: НВ Spacer.NET - редактор миров [G1 / G2NR] 1.14

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.514
Благодарности
2.149
Баллы
380
  • Первое сообщение
  • #1
Spacer.NET (G1 / G2NR)

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

Автор: LikerGothic
Разработчики: LikerGothic, Patrix, 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, перемещать мышь для вращения камеры.
Колесико мышки - быстрое перемещение в направлении взгляда (не работает на готике 1)

Управление выделенным вобом:
  • Выделение воба : ЛКМ, расширенное выделение: левый 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. Инструмент выделения полигонов (пипетка) также синхронизирован с Фильтром материалов и окном свойств. Можно выбирать полигоны на локации и менять свойства их материалов
Чтобы добавить эффект в Редактор частиц выберите его и откройте окно редактора (значок молнии). После этого вы можете менять эффект и после изменений сохранить его в текстовый файл.
После этого вы можете вставить измененый эффект в скрипты и скомпилировать снова

PartEditorGuide.jpg
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.514
Благодарности
2.149
Баллы
380
LikerGothic обновил(а) ресурс Spacer.NET - редактор миров [G1 & G2NR] новой записью:

1.13

  1. Для help-вобов добавлены 3D модели (новые и отсутствующие). Спасибо D36 и LevLion
  2. Мелкие исправления в окне отчета об ошибках
  3. Колесо мыши теперь работает для Готики 1 (для быстрого перемещения камеры)
  4. Для MobInter вобов теперь показываются слоты, где герой может с ними взаимодействовать. Это полезно узнать, где у воба находится точка взаимодействия, например у рудной жилы или сундука. Эту опцию можно выключить поставив bShowMobInterSlots = 0 в spacer_net.ini

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

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.339
Благодарности
3.183
Баллы
525
будет добавлен показ слотов MobInter, теперь будет показывать где герой взаимодействует у сундука или рудной жилы.
Возможно, моддеру более важно иметь представление не о том, где будет находиться слот при размещении объекта в игровом мире, а о том, где будут находиться ноги персонажа, взаимодействующего с объектом. Понятно, что ноги персонажа в игре будут находиться на уровне меша. Если не угадать с высотой положения слота (высотой расположения объекта), то персонаж может лежать, например, не на кровати, а немного выше неё. Наверное, достаточно будет заменить модельку, которая используется для визуализации слота.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.514
Благодарности
2.149
Баллы
380
ElderGamer, не совсем понял, моделька показывает точную позицию слота из mobInter (которая собирает инфу из анимации), именно там где она прописана изначально. Я специально не стал координаты никак менять, ведь их может быть и 1 и 2 и 4 слота, и каждый слот может быть где угодно.
А персонаж где будет = так проверить в игре как раз. Вряд ли из модели можно узнать где будет герой.
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.339
Благодарности
3.183
Баллы
525
не совсем понял
Я имел в виду следующее. Анимация взаимодействия с объектом относительно правильно работает в том случае, если объект правильно расположен на строго горизонтальной поверхности.

SitChair_01.jpg
SitChair_02.jpg


Но в игровой локации поверхность меша не обязана быть строго горизонтальной. При размещении объекта в игровом мире нужно попытаться угадать правильную высоту расположения объекта, чтобы стопы персонажа находились на одном уровне с нулём вертикальной координаты объекта. Да, понимаю, далеко не все моддеры заморачиваются на таких вещах. И да, не всегда можно вообще добиться правильного расположения объекта. На тот же стул, например, можно сесть, подойдя к нему с разных сторон. И если поверхность меша в данном месте расположена с уклоном, то, подойдя к стулу то с одной, то с другой стороны, персонаж оказывается на разных высотах. Но всё-таки, дополнительная помощь моддеру в вопросе правильного размещения объекта не помешала бы.

В своё время, обдумывая этот вопрос, собирался попробовать создать набор альтернативных моделек интерактивных объектов, в которых присутствовали бы дополнительные элементы, указывающие точку расположения ног персонажа. Эти модельки можно было бы подкладывать Спейсеру на этапе работы по размещению объектов. Но пока эта идея не была реализована. :)
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.514
Благодарности
2.149
Баллы
380
ElderGamer, я понял идею, только это достаточно сложная функция, да и в ней нет острой необходимости. Всегда можно проверить в игре + у юниона баговые коллизии с объектами взаимодействия. (InteractCollision свойство).
В данном случае в спейсере показываются слоты там, где они прописаны (видимо) в самой модельке. Т
Так что морочиться ради такого смысла нет, у меня по анимациям знаний в любом случае нет :)
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.128
Благодарности
3.220
Баллы
485
LevelVob вообще можно нафиг удалить (опция есть) при загрузке мира. Они так-то не нужны, они не выполняют никакой функции кроме этапа компиляции.
Не соглашусь. Без zCVobLevelCompo все объекты зена слетают в одну кучу и больше не группируются по типам при использовании любого другого редактора. Нет разницы только при дальнейшем использовании самого Spacer.NET, потому что, видимо, он группирует объекты самостоятельно и структура с папками сохраняется. В оригинальном же Spacer или Union Spacer получается каша, с которой невозможно работать:
Screenshot_1.png
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.514
Благодарности
2.149
Баллы
380
D36, ну это да, речь шла скорее о финальной версии локации. SpacerNET группирует вобы по типу, а не по levelCompo, вот и вся разница.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.514
Благодарности
2.149
Баллы
380
LikerGothic обновил(а) ресурс Spacer.NET - редактор миров [G1 & G2NR] новой записью:

1.14

  1. Добавлено новое сочетание клавиш: SHIFT+Z (можно настроить), позволяет установить воб в центр родительского воба. Удобно, если вам надо разместить вложенный воб по центру"
  2. Исправление мелких ошибок
  3. Добавлена поддержка загрузки ZEN, если файл является символической ссылкой
  4. При изменений triggerTarget теперь окно Триггеров обновляется, также обновляется и визуальная линия, показывающая триггер
  5. Линии триггеров к цели и источнику теперь рисуются через стены
  6. Добавлено...

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