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

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

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

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

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.495
Благодарности
2.113
Баллы
365
  • Первое сообщение
  • #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
 
Последнее редактирование:

Lev-Lion


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

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.495
Благодарности
2.113
Баллы
365

LikerGothic


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

0.43

  1. Исправлена ошибка: сеятель травы больше не убирает коллизию у oCItem
  2. Исправлена ошибка: сеятель травы теперь отключается при закрытии его окна
  3. Добавлено новое сочетание клавиш на добавление воба в быстрый доступ. По умолчанию LSHIFT+G
  4. При добавлении ключа триггера (AFTER) мувер будет сразу прыгать на новый ключ
  5. Исправлены некоторые ошибки при работе с триггерами
  6. Курсор мыши в списке объектов теперь отображается правильно
  7. Игнорирование альфа-канала при рисовании...

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

Czudak

Участник форума
Регистрация
29 Июн 2019
Сообщения
180
Благодарности
95
Баллы
125
Yo und yo. I have encountered a rather weird bug with Spacer.NET today (though it has been with me for a few years already since I started to use this newer program... I just didn't know xD). Mainly, when saving as a compiled .ZEN, the visual names for the world slices from the zCVobLevelCompo sometimes get renamed to some weird syntax of # + number.

BAD:

BAD.png


GOOD:

GOOD.png


As you can see, in the right bottom corner, the slices' names are in the weird syntax in the first image. In the second, where I entered the proper names again and then saved, everything is in order. One can even notice that with the "show invisible vobs" option turned on, the world slices became visible (or at least, their borders)! Now, this wouldn't be a very big deal, if not for the fact that when a .ZEN lacks the proper names for the visuals there, any attempt at compilation of the uncompiled .ZEN saved with such buggy names will fail, even with all proper slices of the world in place (and in the .3DS format). Because of this, for the last few years, I thought my .ZENs were somehow botched for Spacer and I would never be able to introduce custom changes to the world mesh via Blender (and Kerrax's plugin for it).

For reference, I tried resaving the world of Jarkhendar to see how many times I would need to reproduce the bug. It happened on the 10th try. I also tried doing the same with the classic Spacer, and even after the tenth try, it didn't happen. I have no idea if it's me only, but please take a look into this. And thanks for the continued support for the best Zengin editor, hehe!

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

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.495
Благодарности
2.113
Баллы
365
Czudak, I will check it. So just keep names?
 

Czudak

Участник форума
Регистрация
29 Июн 2019
Сообщения
180
Благодарности
95
Баллы
125
Czudak do u have this option active?
Посмотреть вложение 119065

When saving ZEN, check message: Fix visual for in console. May be this is a problem.

You were right. And, while testing, I made a fresh install of Spacer.NET while testing the "bug", so it all checks out. Now, we only need the other way option, where Spacer.NET pulls the names for the visuals from the _WORK\DATA\MESHES\LEVEL\ADDON or NEWWORLD or OLDWORLD directories and saves them to a .ZEN that already had its visuals' names cleaned, hehe.
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.900
Благодарности
536
Баллы
275
Приветствую всех.
Подскажите, пожалуйста, как можно выделить несколько вобов, чтобы сохранялось их соотношение по высоте?
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.495
Благодарности
2.113
Баллы
365
KirTheSeeker, такое вроде нельзя. Можно сделать 1 из вобов родительским и поместить в него другие вобы как дети (вырезать и вставить) и тогда при перемещении родителя их относительное положение сохранится.
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.900
Благодарности
536
Баллы
275
Можно сделать 1 из вобов родительским и поместить в него другие вобы как дети (вырезать и вставить) и тогда при перемещении родителя их относительное положение сохранится.
Поясни, пожалуйста, как это корректно сделать (чтобы потом можно было отменить)?
Ещё вопрос:
- Можно ли выделить все вобы, имеющие один визуал?
Если конкретно - мне необходимо выделить и удалить из мира все пушки.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.495
Благодарности
2.113
Баллы
365
KirTheSeeker, тебе удалить надо? Для этого есть опция поиска же. Делаешь поиск по вобом с визуалом нужным и потом выбираешь удалить через меню. Как бы это очевидно из старого спейсера.
1702133800261.png

Потом поле "Искать"сменишь на "удалить"когда найдешь все вобы. Появится кнопка удалить.
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.900
Благодарности
536
Баллы
275
KirTheSeeker, такое вроде нельзя. Можно сделать 1 из вобов родительским и поместить в него другие вобы как дети (вырезать и вставить) и тогда при перемещении родителя их относительное положение сохранится.
Правильно ли я понимаю, что здесь как раз таким "вобом-родителем" является факел, а к нему пристёгнуты "дети" в виде света и звука?
1702384259280.png
Если я выбираю сам воб факела, то при перемещении вобы света корректно следуют за ним, НО "колонка" звука остаётся на месте. Как мне правильно переместить их всех вместе?
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.176
Благодарности
6.158
Баллы
1.565
Правильно ли я понимаю, что здесь как раз таким "вобом-родителем" является факел, а к нему пристёгнуты "дети" в виде света и звука?
И да, и нет.
Смотри внимательно на детей, там нет ребенка с припиской sound(пишу по памяти, но там примерно zCVobSound).
Т.е. воб звука у тебя отдельно, он не привязан к факелу.
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.900
Благодарности
536
Баллы
275
И да, и нет.
Смотри внимательно на детей, там нет ребенка с припиской sound(пишу по памяти, но там примерно zCVobSound).
Т.е. воб звука у тебя отдельно, он не привязан к факелу.
Благодарю. Я кликал на "колонку", думая что выделил именно её, т.е. FIRE_SPARKS.pfx. Видимо, у неё иное название.
Подскажи, пожалуйста, как конкретно добавить колонку к факелу-родителю?
Вот я выделил воб колонки. Куда кликать дальше?
 
Сверху Снизу