Перейти к контенту

[SoC] Вопросы по SDK


faniloko

Рекомендуемые сообщения

X-Ray SDK v0.4скачать


Глобальный патч v0.4 (16 Dec 2009) для X-Ray SDK v0.4
скачать



Декомпилятор уровней, конвертер анимаций, моделей и еще кучи всего
скачать


Скрипты импорта/экспорта объектов для 3ds max (den-stash):


Тут можно найти последнюю версию:
ссылка
Плагины импорта/экспорта геометрии в Milkshape 3D (bardak, Kamikazze):
скачать
Плагины импорта/экспорта геометрии в Maya (bardak, surfer):
скачать
Плагины экспорта геометрии из Maya/Lightwave (официальные от GSC):
скачать


Официальный xrAI для ТЧ:


скачать
Ускоренные компиляторы для ТЧ, присутствует обход ошибки Invalid Face (Mortarion,Haron,Macron,Bardak):
скачать


xrLC + xrDO_Light + xrAI (Sep 27 2014)


Авторы: GSC
Правки и сборка под x64: K.D.
ЧН: https://yadi.sk/d/vK-lttohbhNHu(без pdb https://yadi.sk/d/t5f3vuL-bhNJt )
ЗП: https://yadi.sk/d/uaDOZDzEbhNKa(без pdb https://yadi.sk/d/iCtXQ9bgbhNL4 )
build 5714, Sep 27 2014

! исправлена замена каналов в итоговой текстуре террейна
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt
build 5571, May 7 2014
! убрана надпись LevelBuilder из лога
build 5570, May 6 2014
! переделано детектирование процессора и его фичей
! теперь при вылете компилятор не пытается продолжать работать
+ добавлен ряд новых ключей запуска (-norgb, -lmap_quality)
+ при отсутствии текстур (tga, thm) xrLC слетает не сразу, а по окончании фазы загрузки
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64

build 5707, Sep 20 2014

~ при отсутствии необходимых файлов (build.cform и т.д.) компилятор выдает сообщение
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt
build 5571, May 7 2014
+ добавлена поддержка x64
+ добавлен ряд новых ключей запуска (-norgb, -nosun)
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64
! убрана надпись LevelBuilder из лога

Sep 27 2014

~ исправлено падение xrAI на старте
Sep 20 2014
+ поддержка build.cform, полученного новым xrLC


Имя файла: thm for all textures SoC.rar


Размер: 155.48 МБ
Ссылка: >>Click Me<<


Предназначены для расставления на своих картах в редакторе карт, шейдеры и текстуры уже настроены. by UX.Loki


http://www.stalkerin.gameru.net/downloads/...lker_Content.7z


Обновленные исходники рук с костями для 3д макса 8.0 и выше в формате .max, теперь вам будет гораздо легче создать собственный худ. Модель привязана к костям, сделана камера для контроля анимаций (вид HUD-а как в игре) by Tambovski


http://www.stalkerin.gameru.net/downloads/...D_HANDS_new.rar


В комплекте лестницы, hom-кубик occ и прочая тематичная дребедень + полезная инфа. Разархивировать в папку с SDK. by macron


http://yadi.sk/d/Y7kMpHcG7XkBU




Оригинал: Kostya V
Переписал: krovosnork
 
Настройка СДК.
1. Установите СДК на свой компьютер.
2. Лучше всего устанавливать СДК по такому адресу (в будущем тогда будет меньше мороки с настройками): C:\Program Files\X-Ray SDK
3. Установите Глобальный патч v0.4 для X-Ray SDK v0.4
4. Возьмите распакованную версию игры Сталкер ТЧ (gamedata) и поставьте с заменой в X-Ray SDK\level_editor. Это упростит работу в будущем.
5. Теперь понадобится конвертер от Бардака
6. С помощью него преобразовываем текстуры dds2tga. Как - читаем ридми. Необходимо только запустить конвертер на преобразование, остальное он сделает сам. Это необходимо для того, чтобы в СДК появились недостающие текстуры, которых будет много не хватать, если этого не сделать.
7. Ставим компиляторы:

Официальный xrAI для ТЧ:скачать
Ускоренные компиляторы для ТЧ, присутствует обход ошибки Invalid Face (Mortarion,Haron,Macron,Bardak):
скачать


xrLC + xrDO_Light + xrAI (Sep 27 2014)
Авторы: GSC
Правки и сборка под x64: K.D.

build 5714, Sep 27 2014
! исправлена замена каналов в итоговой текстуре террейна
 
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt
 
build 5571, May 7 2014
! убрана надпись LevelBuilder из лога
 
build 5570, May 6 2014
 
! переделано детектирование процессора и его фичей
! теперь при вылете компилятор не пытается продолжать работать
+ добавлен ряд новых ключей запуска (-norgb, -lmap_quality)
+ при отсутствии текстур (tga, thm) xrLC слетает не сразу, а по окончании фазы загрузки
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64


build 5707, Sep 20 2014
~ при отсутствии необходимых файлов (build.cform и т.д.) компилятор выдает сообщение
 
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt
 
build 5571, May 7 2014
+ добавлена поддержка x64
+ добавлен ряд новых ключей запуска (-norgb, -nosun)
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64
! убрана надпись LevelBuilder из лога


Sep 27 2014
~ исправлено падение xrAI на старте
 
Sep 20 2014
+ поддержка build.cform, полученного новым xrLC


ТЧ: https://yadi.sk/d/NeOThjvxbgvde(без pdb https://yadi.sk/d/qrHM0AnlbhNH3 )
ЧН: https://yadi.sk/d/vK-lttohbhNHu(без pdb https://yadi.sk/d/t5f3vuL-bhNJt )
ЗП: https://yadi.sk/d/uaDOZDzEbhNKa(без pdb https://yadi.sk/d/iCtXQ9bgbhNL4 )


8. Открываем СДК. Это делается путем запуска батника LevelEditor в X-Ray SDK\level_editor.
9. Создаем ЛОДы для деревьев и камней. Статья
Видео
 
Настройка конвертера.
Создаем папку X-Ray SDK\converter и копируем туда файлы конвертера.
Затем настраиваем его.
Если установили СДК в C:\Program Files\X-Ray SDK, то в файле fsconverter.ltx ничего уже настраивать не надо.
Если же сдк установлен в другую папку, то в файле fsconverter.ltx находим строчку $sdk_root$= false| false| c:\program files\x-ray sdk\level_editor\ и прописываем путь к сдк.
В файле converter.ini находим такие строки и исправляем их (укажите путь к своему сдк, если он установлен в другую папку):
; 2947+ (финалка включая обновления)
[2947_config]:2945_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\
 
 
[3120_config]:2947_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\
 
Все, теперь конвертер настроен. Как им пользоваться читаем в ридми.
 
Подготовка уровня
1. Сделайте в 3Д редакторе какой-нибудь террейн. Затекстурьте его и эспортируйте в СДК.
2. Открываем наш новый уровень в Левел Едиторе.
3. Заходим в Properties\Scene\Options и меняем Name prefix и Level path на нужные нам названия. Выбираем Quality.
4. Добавляем Glow. Назначаем ему текстуру.
5. Затем жмем Edit Mode\Light и добавляем освещение на уровень. Можно поставить несколько в разных углах и хватит.
6. Далее добавляем переход с уровня. (Пропустите этот шаг, если не собираетесь подключать локацию к остальным)
Edit Mode\Spawn Element\ai\level changer и ставим этот level changer в любом месте, где хотим сделать переход. Потом жмем Edit Mode\Shape выбираем,
допустим, сферу и ставим ее в том же месте, где и level changer. Затем обратно на Edit Mode\Spawn Element и нажимаем Commands\Attach Object, а потом опять на сферу. После этого сфера и level changer объединяться.
7. Теперь нажимаем на level changer правой кнопкой мыши и выбираем properties. В нем выбираем в Level to change уровень, на который хотим перейти. В Level point to change пишем название граф поинта, на котором появится ГГ после перехода. Заходим в custom data перехода и пишем там:
[pt_move_if_reject]
path = название уровня_way_if_reject
 
8. Нажимаем Edit Mode\Way Points, ставим 1 вейпоинт рядом с level changer, теперь жмем point mode и ставим второй. Теперь у нас получился путь, который мы прописали в custom data level changer, заходим в свойства и обзываем его также как и в custom data, то есть название уровня_way_if_reject.
9. Расставляем графпоинты.
Edit Mode\Spawn Element\ai\graph point. Ставим один граф-поинт рядом с переходом и в свойствах прописываем ему название. (Его можно использовать как точку спавна при переходе на локацию)
10. Далее расставляем граф-поинты по уровню. Необходимо ставить их там, где предполагаются места стоянок, а также по периметру уровня. (Для тестовой локации будет достаточно нескольких граф-поинтов)
11. Далее идем в Edit Mode\Spawn Element\ и спавним на локации какой-нибудь предмет (например, винторез).
12. Теперь надо сделать АИ-сетку.
Нажимаем Edit Mode\Object и выделяем все объекты на уровне (Selection\Select All). Далее Edit Mode\AI Map и вносим все выделенные объекты в список. Snap List\Comands\Add Selected To List.
Ставим АИ-нод и нажимаем Generate Full.
13. После создания АИ-сетки нажимает Edit Mode\Sector.
Выбираем Remove Default, а после Create Default.
 Все, приготовления закончились. Теперь начнем компиляцию.
 
Компиляция
 
1. В СДК делается Build этого уровня.
Compile->Build
2. Затем компилируем геометрию с помощью xrLC.
Нужно записать название локации в батник xrLC, при необходимости добавить дополнительные ключи (если используете x64 компиляторы, список и предназначение ключей есть в ридми)
3. Далее прописываем в конфигах свой уровень. Прописать надо в файлах game_graphs.ltx и game_levels.ltx.
4. Теперь переходим к работе с xrAI. 
 
В папке level_editor создаем батники:
(Путь может отличаться, если вы используете x64 компиляторы)
1) Сборка черновой сетки ИИ:
Команда: @start bins\compiler_ai\xrAI.exe -draft -f <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.ai.
2) Сборка ИИ-графа:
Команда:@start bins\compiler_ai\xrAI.exe -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
3) Склейка ИИ-графов карт в глобальный игровой граф:
Команда:@start bins\compiler_ai\xrAI.exe -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
(см. ниже для случая с картами без исходников)
4) Сборка all.spawn
Команда:@start bins\compiler_ai\xrAI.exe -s
На выходе: gamedata\spawns\all.spawn
 
 
Все карта скомпилирована. Теперь надо собрать геймдату своего уровня.
Обязательно необходимо скопировать из level_editor\gamedata в свою геймдату следующие файлы:
- config\game_graphs.ltx и game_levels.ltx
- spawns\all.spawn
- из папки levels скопировать папку с новым уровнем (build.* файлы не нужны)
- из папки levels необходимо скопировать в соответствующие папки файлы level.gct для каждого уровня, если вы подключали свою локацию к оригинальным.
 - game.graph
- в папку textures скопировать все свои новые текстуры, которые использовали для своего уровня.
 
Теперь получившуюся папку gamedata помещаем в папку с игрой и запускаем новую игру.


Дорогие друзья! Прежде, чем написать сообщение с вопросом "а почему у меня не работает"/"а почему такой вылет", проверьте написанное в FAQ по основным проблемам. Если описанный в сообщении вылет/проблема есть в FAQ, не обессудьте - буду тереть. KD87

================================================================================



Сюда же:
Почему у меня даже на Windows 7 x64 СДК использует только 2 Гб памяти и не дает работать с очень большими локами?
Причина: не хватает оперативной памяти, точнее, памяти, выделенной под приложение. Обычно происходит по двум причинам - винда x86 выдает приложению не более 2 Гб оперативки, а приложение, скомпиленное 32битным компилятором, не может адресовать более 2 Гб памяти. Если физической памяти много (4 Гб и более) решаем так:
Заставляем винду выдавать побольше памяти приложению:
-устанавливаем x64-версию Windows.
-на x86-версиях можно выполнить следующее:
XP: в boot.ini добавьте ключ /3gb к конфигу текущей операционной системы.
Vista/Win7: в командной строке введите BCDEDIT /Set IncreaseUserVa 3072
Теперь винда сможет давать 3 Гб приложениям.
Внимание! Обычно все путем, но иногда программы могут начать работать странно! Могут начаться глюки! Использовать на свой страх и риск!
Заставляем приложение адресовать более 2 Гб памяти:
-добавляем в экзешник флаг /LARGEADDRESSAWARE. Сделать это можно разными способами, проще всего - готовым патчем: патч
================================================================================
При экспорте модели из AE в ogf происходит примерно такое:
 

Возможная причина: в Вашей модели более 60 000 фейсов (если смотреть в AE). В любом случае проблема в модели, точная причина пока не установлена.
================================================================================
Вопрос: При экспорте OGF появляется такое сообщение:
 

Ответ: Когда будете в SDK выбирать кости и делать Generate Shape, выбирате только те кости, к которым есть привязка... в данном случае - выбираем все кости, кроме тех на которые ругается сдк, то есть root, connectbone01, connectbone02 соответсвенно...
================================================================================
Вопрос: Взял с карты, импортированой в 3ds Max - любой обьект. Выравниваю пайвот по обьекту (center to object). Далее помещаю обьект в центр координат, экспортирую. А в LE, при спавне этого обьекта - он оказывается хз где, а не по пайвоту. Подскажите как правильно выровнять надо.
Ответ: После того, как поставите объект куда надо - идём туда, где "включали пайвот" и нажимаем Reset Pivot - непосредственно перед экспортом. И экспортируйте на здоровье. Если объектов - много - выделяем их все, и также "сбрасываем" Pivot.
ИЛИ
Центрировать пайвот по обьекту, поставить в центр и в утилитах нажать Reset xForm.
================================================================================
Вопрос: Во время работы выводится ошибка invalid float operation, в логе появляется запись следующего вида:
 

Далее подобная же ошибка происходит при попытке установки на карту любого объекта. Что делать?
Ответ: Как правило, эта ошибка вызывается файлом rt_object_props.ltx. Закройте SDK и удалите его.
================================================================================
Вылет при открытии СДК:

Причина: отсутствие файла $no_sound.ogg в папке \gamedata\sounds\
================================================================================
Cовместил SDK с игрой, но вылетает с ошибкой. Полный репорт ошибки:
 

Ответ: Вы просто забыли удалить либо переместить все .db фаилы в другую папку.
================================================================================
Вопрос: SDK не работает под Vista/Win7, что делать?
Ответ: Ставим на диск с фаиловой системой fat32, не открываем пока редактор, что нужно устанавливаем в
level_editor\rawdata\, не забываем впихнуть в папку с редактором d3dx9_31.dll.
Создание нового левела на висте - переименовываем пример mp_atp_test.level и папку под него,
редактируем level.ini, детальные объекты придется делать самому, а не открывать заготовку.
Также смотрите:
Запуск СДК под Vista/Win7 с помощью VMWare Worksation: читать
Запуск СДК под Vista/Win7 с помощью Microsoft Compatibility Toolkit: читать
================================================================================
Вопрос: После прекомпиляции в редакторе пишет ошибку:
 

Ответ: Сделайте HOM-объекты на локации. Но к сведению... HOM-объекты для компиляции необязательны, то есть игра прекомпилит уровни и переваривает их и без них, так что ставьте на свое усмотрение. Если у вас пишет Invalid Scene!, то это никак не связано с тем, что вы не поставили сектора и порталы (HOM), а проблема в чем-то другом.
Но! Если на карте уже есть HOM, то вам явно стоит разобраться с секторами.
================================================================================
Вопрос: Как запустить Shader Editor, или "А вот это выскочило, когда я попытался запустить .exe-файл":
 

Ответ: Создать в папке ...LevelEditor .bat-файл, в котором написать:
@start bins\ShaderEditor.exe
Если у вас подобная ошибка с другими .bat фаилами, возможно, вам нужно установить OpenAL 1.1.
================================================================================
Вопрос: Вылетает ошибка при валидации:

Ответ: когда что-то меняется из статической геометрии, надо пересчитать сектора и порталы.
Edit mode - sector - remove default - create default.
Edit mode - portals - compute all.
FATAL ERROR
[error]Expression : fatal error
[error]Function : out_of_memory_handler
[error]File : .\xrDebugNew.cpp
[error]Line : 318
[error]Description : <no expression>
[error]Arguments : Out of memory. Memory request: 65536 K
..Prepare skeleton geometry
Bone: bone001 - Part: 0
..Split meshes
FATAL ERROR
[error]Expression    : assertion failed
[error]Function      : I:\xray-svn\editors\ECore\Editor\ExportSkeleton.cpp
[error]File          : I:\xray-svn\editors\ECore\Editor\ExportSkeleton.cpp
[error]Line          : 72
[error]Description   : P<u16(-1)
stack trace:
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
.............
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
..Calculate TB
Split statistic:
- Split 0: [Bones: 1, Links: 1, Faces: 1648, Verts: 2018, BrPart: 0, Shader/Texture: 'models\model'/'belt\brezent_a']
- Split 1: [Bones: 1, Links: 1, Faces: 312, Verts: 584, BrPart: 0, Shader/Texture: 'models\model'/'belt\plast_z']
- Split 2: [Bones: 1, Links: 1, Faces: 312, Verts: 584, BrPart: 0, Shader/Texture: 'models\model'/'belt\plast_k']
- Split 3: [Bones: 1, Links: 1, Faces: 52332, Verts: 70652, BrPart: 0, Shader/Texture: 'models\model'/'belt\stal_k']
- Split 4: [Bones: 1, Links: 1, Faces: 3724, Verts: 4352, BrPart: 0, Shader/Texture: 'models\model'/'belt\brezent_p']
- Split 5: [Bones: 1, Links: 1, Faces: 5248, Verts: 7048, BrPart: 0, Shader/Texture: 'models\model'/'belt\plast_b']
..Export skeleton geometry
..Export skeleton geometry (Make Progressive...)
FATAL ERROR
[error]Expression    : assertion failed
[error]Function      : i:\xray-svn\xrcore\_stl_extensions.h
[error]File          : i:\xray-svn\xrcore\_stl_extensions.h
[error]Line          : 43
[error]Description   : _Pos<size()
stack trace:
..Export skeleton geometry (Compute bone bounding volume...)
Export complete.
..Export skeleton geometry (Compute bone bounding volume...)
Bone 'root' has invalid shape.
Bone 'connectbone01' has invalid shape.
Bone 'connectbone02' has invalid shape.
Export failed.
FATAL ERROR
[error]Expression    : b
[error]Function      : X:\stalker_addon\sources\engine\xrCore\Xr_ini.cpp
[error]File          : X:\stalker_addon\sources\engine\xrCore\Xr_ini.cpp
[error]Line          : 670
[error]Description   : name[...] already exist in section[...\x-raysdk(3-cs)\editors\maps\z_test.level]
stack trace:
FATAL ERROR
[error]Expression    : assertion failed
[error]Function      : I:\xray-svn\xr_3da\Environment_misc.cpp
[error]File          : I:\xray-svn\xr_3da\Environment_misc.cpp
[error]Line          : 81
[error]Description   : !sounds.empty() || !effects.empty()
FATAL ERROR
Expression    : hXRSE_FACTORY
Function      : I:\xray-svn-trunk\editors\LevelEditor\Edit\ESceneSpawnTools.cpp
File          : I:\xray-svn-trunk\editors\LevelEditor\Edit\ESceneSpawnTools.cpp
Line          : 38
Description   : Can't load library:
Arguments     : xrSE_Factory.dll
!Level doesn't contain HOM objects!
Expression : F
Function : I:xray-svn-trunkxrCoreELocatorAPI.cpp
File : I:xray-svn-trunkxrCoreELocatorAPI.cpp
Line : 63
Description : Can't open file:
Arguments : fs.ltx
Error: Scene has 80301 non associated face!


При использовании любых компиляторов (xrLC, xrDO_Light, xrAI) вылет:


 

Последние строчки в логе:

Причина:
Все компиляторы X-Ray используют типовую функцию загрузки геометрии уровня - с текстурами и прочим. Так что либо нету используемых на локации thm либо tga-текстур.
================================================================================
Вопрос: У меня выбивает ошибку "Scene must be empty before editing library" при входе в Objects->Library Editor подскажите что делать?
Ответ: В главном меню File -> Clear.
================================================================================
Вопрос: В СДК 0.4, 0.5 (0.6) при расстановке объектов они появляются прямо перед камерой в воздухе, и их приходится постоянно спускать на землю.
Ответ: Нажмите на верхней панели LE кнопку Object Snap Toggle.
================================================================================
Вопрос: При попытке использования некоторых объектов стандартной библиотеки (например, из набора statics\dead_body\) выдается ошибка о недостающей текстуре.
Ответ: Не включенные в SDK текстуры можно найти в распакованных архива игры. Скопируйте нужные в editor\gamedata\textures.
================================================================================
Вопрос: Поставил объект, а на карте после компиляции его нет, что делать? sad.gif(
Ответ: Такое бывает, если неправильно заданы свойства объекта. Идем в Objects->Library Editor, находим наш объект, например автобусная остановка в objects(не входит в набор сдк), жмем properties и внизу окна есть выбор между surfaces и Main options, выбираем последнее, теперь меняем Object Type с Dynamic на Static. Вот теперь объект должен нормально отображаться, такой баг частенько случается с модельками на сайте lproject, так что имейте ввиду, когда ставите модели оттуда, что нужно иногда исправлять их исходные параметры.
FATAL ERROR
Expression: BT.pSurface
Function: xrLoad
File:...xray-svn\xrAI\compiler_load.cpp
Line 209
Descr.: Can't load surface
26 supported formats
loading: fx\fx_fire.thm; какая-то thm


================================================================================



Ответ: Весь смысл заключается в том, что в СДК оставили много лишнего, т.е. для текстур оставили
сгенерированные thumbail-ы, а самих текстур нет. И вроде бы всё просто - нужно просто их добавить,
но редактор понимает только *.tga файлы. Нам поможет утилита dds2tga, которая может пакетно преобразовывать
dds файлы в tga.
Выявляем(смотрим выше в логе компилятора над надписью "FATAL ERROR") все текстуры на которые ругается
редактор, далее берём их из распакованной игры и помещаем в папку утилиты dds2tga
(рекомендуется сразу положить екзешник dds2tga в папку Import SDK), запускаем CONV_ALL.BAT,
в этой же папке появятся файлы *.tga. Копируем их в папку import/(или rawdata/textures/нужная_папка)
пакета SDK. Запускаем Level Editor и даём команду images\ check new textures.
================================================================================
Вопрос: Компилятор бессловесно вылетает в середине компиляции! В логе ошибок нет, а последнее, что он просчитывал, приблизительно такого вида:
 

Ответ: У вас проблемы с объектами, либо каких-то из них попросту нет, либо они криво созданны в 3dsmax, либо настроенны неправильно, либо они гдето очень неудачно пересекаются с другими объектами, смотрите как настраивать правильно объекты в level editor в шестом вопросе этого FAQ.
================================================================================
Карта не компилируется. Компилятор слетает с ошибкой:
 

Ответ: Геометрия карты содержит 145 вырожденных треугольников (invalid face'ов).
В моделях НЕ должно быть:
очень длинных тонких треугольников;
потяжек текстур;
несвязанных рёбрами вершин.
Как это исправить?
Импортируем список ошибок, полученный при декомпиляции карты converter'ом, в LE (Compile-->Import Error List), затем подгружаем куски геометрии с подсвеченными полигонами в 3d-редактор и вручную приводим к соответствию вышеуказанным требованиям.
Или же просто используем компиляторы с обходом данной ошибки - для SoC и для CS/CoP.
================================================================================
Вылет на стадии дробления геометрии:
 

конец лога... без каких либо Fatal Error...
Причина: Как показала практика, причина данной проблемы техническая - недостаточная мощность компьтера. Какая конфигурация должна быть? Чем мощнее - тем лучше.
================================================================================

Причина: не хватает указанного файла .thm. Чтобы решить проблему, берём одноимённую текстуру в формате .dds, конвертируем в .tga и кладём в папку import. Затем в LE или АЕ жмём Images-->Check New Textures. Если видим окно с надписью Found 1 new texture(s), то радуемся и жмём ОК. После этого откроется библиотека текстур. Чаще всего, при импорте текстур из оригинальной игры, настройка не требуется, поэтому жмём ОК. Если же это какая-нибудь новая текстура, тогда настраиваем её по образцу из оригинала.
FATAL ERROR
[error]Expression : assertion failed
[error]Function : b_BuildTexture::Vflip
[error]File : d:\xray-svn\xrlc\build.h
[error]Line : 30
[error]Description : pSurface
* New phase started: Build UV mapping...
    |    | model 'trees\new_trees\trees_sosna_1_02' - REF_lighted.
    | Processing...
    |    | model 'trees\new_trees\trees_spil_01' - 2 subdivisions
    |    | model 'props\objects\musor\trash_kamaz_fura' - REF_lighted.
    |    | model 'props\objects\musor\trash_lada_lod' - 2 subdivisions
    |    | model 'props\objects\musor\trash_lada_lod' - REF_lighted.
    |    | ::compact:: 248 verts removed
    |    | ::compact:: 377 verts removed
    |    | ::compact:: 70 verts removed
    |    | ::compact:: 67 verts removed
    |    | ::compact:: 72 verts removed
    |    | ::compact:: 108 verts removed
    |    | ::compact:: 102 verts removed
    |    | ::compact:: 15 verts removed
    |    | ::compact:: 38 verts removed
Expression : fatal error
Function : CBuild::PreOptimize
File : D:\xray-svn\xrLC\xrPreOptimize.cpp
Line : 132
Description : <no expression>
Arguments : * FATAL: 145 invalid faces. Compilation aborted
* New phase started: Subdividing geometry...
| Subdividing in space...
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178288 - split fail, faces: 5156, s1/s2:5139/17
| | ! ERROR: model #178288 - split fail, faces: 5156, s1/s2:5120/36
FATAL ERROR
[error]Expression : THM
[error]Function : CBuild::Load
[error]File : D:\xray-svn\xrLC\Build_Load.cpp
[error]Line : 282
[error]Description : rawdata\textures\corp\corp_stalker.thm


================================================================================



Причина: Причина: где-то на локации очень неудачно расположен space restrictor, который делит АИ-сетку на несвязанные части. Компилируйте с ключом -no_separator_check или же правьте в СДК.
================================================================================

Причина: Много неслинкованных нодов на АИ-сетке.
FATAL ERROR
[error]Expression : nodes.size() + m_internal.size() == level_graph().header().vertex_count()
[error]Function : CSpaceRestrictorWrapper::verify_connectivity
[error]File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp
[error]Line : 268
[error]Description : Restrictor separates AI map into several disconnected components
[error]Arguments : esc_selo2_sr
FATAL ERROR
[error]Expression : assertion failed
[error]Function : CSpaceRestrictorWrapper::verify_connectivity
[error]File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp
[error]Line : 258
[error]Description : nodes.size() + m_internal.size() <= level_graph().header().vertex_count()


================================================================================



Причина: в gamemtl.xr не хватает материала с id = 94. Для разбора файла gmdc в помощь:
================================================================================

Причина: в level.ps_static есть партикл, которого нет в particles.xr. Решения три:
-удалить level.ps_static. Будет работать, но пропадут статичные партиклы на карте.
-разобрать level.ps_static, удалить партикл.
-разобрать particles.xr, добавить партикл.
================================================================================

Причина: all.spawn не соответствует game.graph. Когда компилировали AI, видно, забыли пересобрать спавн.
================================================================================

Причина: game.graph не соответствует кросс-таблице одной из локаций. Скорее всего - забыли закинуть в геймдату level.gct после правки в СДК и компиляции AI. Помните, level.gct нужно обновить для всех локаций, а не только для тех, которые подвергались правке.
================================================================================
Вопрос: Ошибка после запуска игры с новыми левелами:

Ответ:
-В версии за 10.09.08 аивраппера бардака, если соединять новые левелы, level_changer'ы(переходы между уровнями) нормально не работали, в текущей версии исправлено.
-Вы забыли добавить в геймдату файл game.graph.
-В спавне указан неуществующий game_vertex_id.
================================================================================

Причина: нет рпонтов для игроков, им негде спавниться. Расставьте в LE.
Expression : fatal error
Function : CLevel::Load_GameSpecific_CFORM
File : E:\stalker\patch_1_0004\xr_3da\xrGame\Level_load.cpp
Line : 167
Description : <no expression>
Arguments : Game material '94' not found
Expression : SG
Function : CRender::model_CreateParticles
File : E:\stalker\patch_1_0004\xr_3da\xrRender_R1\FStaticRender.cpp
Line : 156
Description : Particle effect or group doesn't exist
Arguments : hit_fx\hit_water_00
FATAL ERROR
[error]Expression    : header().graph_guid() == ai().game_graph().header().guid()
[error]Function      : CALifeSpawnRegistry::load
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\alife_spawn_registry.cpp
[error]Line          : 167
[error]Description   : Spawn doesn't correspond to the graph : REBUILD SPAWN!
FATAL ERROR
[error]Expression : cross_table().header().game_guid() == game_graph().header().guid()
[error]Function : CAI_Space::load
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\ai_space.cpp
[error]Line : 121
[error]Description : graph doesn't correspond to the cross table
FATAL ERROR
[error]Expression    : ai().game_graph().header().levels().end() != I
[error]Function      : CALifeGraphRegistry::setup_current_level
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_graph_registry.cpp
[error]Line          : 91
[error]Description   : Graph point level ID not found!
stack trace:
FATAL ERROR
[error]Expression : rpoints[0].size()
[error]Function : game_sv_Deathmatch::Create
[error]File : D:\prog_repository\sources\trunk\xrGame\game_sv_deathmatch.cpp
[error]Line : 99
[error]Description : rpoints for players not found


================================================================================


Вопрос: Как запустить карту консольно, то есть через батник?
Ответ: Для SP-карт это делается следующим образом:
@start bin\XR_3DA.exe -start server(%1/single/alife/new) client(localhost)
где %1 название общего gamedata\spawns\*.spawn (например, в финалке нужно подставить - all).
Для MP-карт:
@start bin\XR_3DA.exe -ltx user_net.ltx -start server(%1/deathmatch) client(localhost/name=%2)
где %2 - ваш никнэйм в игре.
Некоторые другие параметры командной строки можно найти тут. В скобках можно указывать и другие режимы игры: teamdeathmatch и artefacthunt.
================================================================================
Вопрос: Как создать LOD'ы или "Поставил дерево, камень из библиотеки объектов GSC.. не компилит":
 

Ответ: читаем
================================================================================
Вопрос: Где в SDK запрятан редактор ANM-фаилов?
Ответ: 1). Создаем новый объект.
2). Задаем ему тип dynamic.
3). Добавляем на карту и отмечаем флаг motionable.
4). Заходим в его свойства и видим редактор anm.
================================================================================
Вопрос: Как именно надо делать модель в 3ds Max, чтоб в сталкере она работала?
Ответ: Вот что для этого надо:
- 3Ds Max 7,8. (+ SP3 Recommended)
- Сутки свободного времени (как минимум)
- Крепкие нервы.
Условия:
- ВСЕ Элементы модели должны быть затекстурены, иначе при экспорте будет ошибка: "Bad Submaterial. Export Failed"
- НИКАКИХ групп сглаживания. Иначе в СДК будет ошибка: "Invalid Smooth group! MAX Type" И крэш компилятора.
- НИКАКИХ оперпаций типа "Boolean", "ProBoolean", "Connect" и т. п... Чревато ошибкой "Invalid Faces".
- НИКАКИХ "потяжек" текстур. Это ещё одна разновидность "Invalid Faces"
- Экспортятся только меши, поли, и примитивы. Никаких групп и ассемблов!
- X-Ray Materials в максе использовать КРАЙНЕ нежелательно. Плагин глючный, и часто "роняет" макс. Материал "Standart" вполне подойдёт. А шейдеры и прочий хлам - настраивать в Actor Editor.
- Чем меньше полигонов в модели - тем лучше.
================================================================================
Вопрос: Какой 3d-редактор является "родным" для Сталкера?
Ответ: Однозначно - Maya.
================================================================================
Вопрос: На статике нет детальной текстуры, а в SDK есть! Что делать?
Ответ: Чтобы были видны детальные текстуры на драфте, нужно компилировать с параметром Jitter samples 4-medium.
================================================================================
Вопрос: А как прописать детальную текстуру?
Ответ:
Images-->Check New Textures-->OK.
Выбираем нужную текстуру и настраиваем:
Type - terrain
Details - Use As Diffuse
Texture - Выбираем нужную из папки detail
Scale - Масштабирование текстуры, например мп атп = 24.5, затон 110
ОK.
================================================================================
Вопрос: После компиляции на максимальных поверхности становятся "гранеными". Что делать?
Ответ: Используйте ключ -nosmg.
================================================================================
Вопрос: Гружу анимки stalker_animation.skls в модель нпс. Нажимаю сохранить в оmf, в логе куча ошибок:
..........
Invalid Bone Part of motion: 'norm_torso_7_run_1'.
Invalid Bone Part of motion: 'norm_torso_6_run_0'.
Invalid Bone Part of motion: 'norm_torso_7_run_0'.
Invalid Bone Part of motion: 'dmg_norm_run_ls_0'.
Invalid Bone Part of motion: 'dmg_norm_run_rs_0'.
Export failed.
Собственно лекарство: В АЕ грузим модель, потом тыкаем Bone Parts. В появившемся окошке жмем Reset To Default и раскидываем кости по группам как на скрине,
Invalid scene!
608009.jpg

либо скачиваем этот файл и грузим его через Load From. Все! Теперь можно добавлять/удалять анимации в библиотеки .omf без проблем.


Ссылка на комментарий

Зачем закрывать. Ведь можно в этой теме устроить уроки по работе с СДК, да и вообще с графикой в Сталкере. Думаю, многим бы пригодилось. Главное, чтобы нашлись люди, кто может об этом рассказать.

  • Нравится 1
  • Согласен 1

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий

Согласно загруженному туториалу , мне необходимо импортировать карту в директорию X:\import\

 

2. Сохраняем файл в директорию X:\import\ под именем mp_cube (Х - это диск который создаётся .bat файлом идущим в комплекте с SDK, если он у вас не создан, тогда зайдите в меню пуск и в меню программ запустите следующий файл: X-Ray SDK \ Map X-Drive)

 

Но не в пуске не на компе, и в самой папке с редактором нет этого батника.

Ссылка на комментарий

Заходишь в Пуск\Все программы\XRay SDK\Map X-Drive

 

Нажимаешь на Map X-Drive и создается диск Х.

  • Нравится 1

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий
У меня нет в "Пуске" во "Всех ПрограммахЙ" папки XRay SDK

Ну тогда попробуй переустановить СДК. Косяк у тебя какой-то. Ведь все программы прописываются в Пуск\Все программы.

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий

Я загружал убер пережатую версию , он не устанавливается инсталлятором , а просто копируется куда угодно, я скопировал в корневой каталог игры, с последующим добавлением в папку X-Ray SDK папку Gamedata

 

Вот прилагающееся к нему ридми.

 

----

Предназначено для тех, кто не может качать 400 метров с ОффСайта.

----

Установка:

- Распаковать архив в ЛЮБУЮ папку.

- После установки СДК - ОБЯЗАТЕЛЬНО СКОПИРУЙТЕ В ПАПКУ УСТАНОВКИ ПАПКУ

Gamedata из игры STALKER. Если игровые файлы не распакованы - распакуйте.

! Без gamedata - работать НЕ БУДЕТ.

* Распаковщик игровых файлов - прилагается. (В папке X-Ray SDK\UTILITES\)

Необходимо распаковать UNPACKER.7z в папку с игрой, и запустить UNPACK.BAT

После распаковки ПЕРЕМЕСТИТЬ появившуюся папку gamedata\ в папку с СДК.

* К СДК - приложены плагины для 3Ds Max (в папке UTILITES)

и Maya 8 - 8,5

* Приложения SDK работают без всяких батников, просто сделайте им ярлыки.

* Патч, исправляющий баги с диалоговыми окнами - УЖЕ включен.

----

ВНИМАНИЕ:

В папке 'Components' - находятся СИСТЕМНЫЕ аддоны, необходимо установить их ВСЕ.

Без них - СДК - также может не работать.

----

Усё...

----

Haron

2008

 

 

 

Ладно, я сейчас попробую загрузить оригинальный файл , весом в 314мб

Ссылка на комментарий

Лайт версия SDK - без инсталлятора - просто извлеки папку X-Ray SDK куда-нибудь, куда удобнее и в неё перетащи распакованные ресурсы игры - у меня лайт и всё работает.

Ссылка на комментарий

Эта цитата из официального руководства к редактору.

 

Весь уровень должен состоять не больше, чем из 150 тысяч треугольников.

 

А это примечание из туториала "Maya. Глава 1. Hello World или первый кубик."

 

Добавил Haron 04.02.2008 01:11 ПРИМЕЧАНИЕ!

Есть такое число, - ограничение на количество полигонов в отдельном объекте на карте, это ~150000. На самом деле, это число на порядок ниже. Экспериментально установлено, что если количество полигонов в каком-либо объекте на карте превышает ~ 80000 - 90000, компилятор уровня (xrLC.exe) при компиляции, - тупо слетает на фазе Build UW Mapping.

 

Тут какая то не стыковка , или я что то неправильно понимаю, в первой цитате говориться о целой карте , а Haron говорит о каком то конкретно объекте

Т.е я не имею права импортировать в редактор уровень с общим числом полигонов равным 150000, а так же нельзя что бы на этом уровне были объекты с числом полигонов равным 80-90 тысяч? Я правильно понимаю?

Ссылка на комментарий

По-моему речь идет о том, чтобы уровень состоял не больше 80-90 тысяч треугольников.

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий

Автор темы, обратись к модерам чтобы они изменили название темы на "Вопросы по СДК", такая тема будет очень полезна, на офф.форуме такая тема есть.

 

Насчет того как распаковать уровень в формат сдк с помощью конвертора Бардака, делаем так:

 

Цитата из ридми: Для работы с картами и MOD SDK (параметры -level, -dds2tga) нужно

задать $sdk_root$ в fsconverter.ltx и положить этот файл в каталог

с converter. Аналогично с путями к картам в секциях настроек профилей

из файла converter.ini, который можно разместить ещё и в $sdk_root$.

 

Что это значит? Все просто: если ты хочешь с помощью конвертора перекодировать карту в формат СДК, нужно в папке, где у тебя лежит конвертор найти файл fsconverter.ltx. В нем находим строку $sdk_root$, и прописываем в ней путь до папки с СДК. В этом случае виртуальный диск Х не нужен. Далее уже измененный fsconverter.ltx копируем в каталог с конвертером.

Теперь нужно в той же папке с конвертером найти файл converter.ini. В нем находим секцию, где задаются пути к папке с картами. Например:

 

[3120_config]:2947_config

$game_data$ = c:\temp\1\gamedata.3120\ -- это значит что по этому пути у нас лежит распакованный сталкер

$game_levels$ = c:\temp\1\gamedata.3120\levels\ -- это значит что здесь находится папка с уровнями, которые мы хотим конвертить в формат LE.

 

Все, с путями разобрались, теперь можно приступать к работе с картами:

 

Для начала нужно зайти в консоль, это делается так: ПУСК - выполнить, и в окне вводим "cmd". Далее нажимаем ок, появляется консоль.

 

Далее в консоли выполняем команду cd\, т.е. выходим в корень системного диска.

Далее выполняем команду cd C:\temp, т.е. меняем рабочую папку на ту, где у нас лежит прога (у меня это та, которая указана).

 

Итак, мы зашли в папку с конвертером через консоль. Команда:

converter -level <имя_карты> [-out <имя_сцены>] [-mode maya|le|le2], где <имя карты> - имя карты которую вы хотите конвертить в формат ЛЕ, <имя сцены> - то, как ваша сконвертированная карта будет называться в СДК.

 

Ключ -mode задаёт режим работы:

maya - декомпилировать только геометрию карты.

le - декомпилировать в формат LE.

le2 - декомпилировать в формат LE (для l12_stancia_2).

raw - декомпилировать в формат LE (отладочный режим).

 

Естественно вся команда вводится в консоль и выполняется без кавычек.

 

Если мы все сделали правильно, то осталось только смотреть на бегущие строчки в консоли и ждать окончания конвертирования. Когда карта сконвертилась, заходим в СДК, жмем файл=>открыть и выбираем карту, которая нам нужна. Все! Теперь можно работать с картой!

 

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий

Собрал я куб-карту, скомпелировавл, но мне так и не удалось её запустить, игра зависает при "загрузке геометрии"

 

чуть позже: Нет, перебрал всё еще раз , скомпелировал, тоже самое , висит на "загрузке геометрии" :(

 

 

Скажите пожалуйста как в Майе добраться до этого окошка.

 

Docs_maya_outliner.jpg

Ссылка на комментарий
По-моему речь идет о том, чтобы уровень состоял не больше 80-90 тысяч треугольников.

ненене (с)Дэвид Блейн

речь идет именно об объектах насыщения, например карта милитари весит 963 тыс. треугольников (это без растительности, импорт *.geom файла в макс), а сетка геометрии тока земли всего 43 тыс. треугольников, единственная трудность это то, что импорт разбавает карту не по объектам, а по применяемым мателиалам, то есть есть на карте 10 одинаковых бочек в разных местах с одним материалом - это будет один объект, но на глаз там примерно 10-15 тыс. на объект, например какие-то руины на свалке у блок-поста долга, стенка та, примерно ~15-20 тыс. на эти обломки, если предполагалось что это одним объектом пыс делало в оригинале

чем ближе к эпицентру - тем полезнее для здоровья
Ссылка на комментарий
Собрал я куб-карту, скомпелировавл, но мне так и не удалось её запустить, игра зависает при "загрузке геометрии"

 

Проблему решил, карту запустил без проблем только после установки 1.0006 патча, но причины возникшего зависания мне не известны

Ссылка на комментарий

Приветствую всех...

Итак: Поставил себе LITE SDK, ради конвертера в ogf и правки ogg-комментариев...

Создал в максе модель, открыл в ActorEditor'е, перегнал в ogf., но при просмотре в OGFViewer'e, остался не доволен...

При повороте модели по оси Х, происходят странности...

Модель не поворачивается на одном месте, а как-будто огибает опред. радиус вокруг центра...

Как отцентровать модель в SDK?

Надеюсь понятно что я имею ввиду... :)

Спасибо...

Жизнью в России довольны две категории людей: те, кто не в курсе и те, кто в доле.
Ссылка на комментарий

ЗЫ: Тема переименована и поднята в важные. Обсуждаем СДК тут.

 

WodkaGT

 

Создал в максе модель,

 

У тебя в максе где Pivot находится?

fb7cc3b532fce476a6e240310ebdb5fa.jpg

 

Ссылка на комментарий
ЗЫ: Тема переименована и поднята в важные. Обсуждаем СДК тут.

 

WodkaGT

 

 

 

У тебя в максе где Pivot находится?

Извиняюсь за нубский вопрос., но где там можно посмотреть этот стержень?

Просто я в моделировании совсем недавно, и что да как, еще не особо ориентируюсь... :)

Жизнью в России довольны две категории людей: те, кто не в курсе и те, кто в доле.
Ссылка на комментарий

2de49a1c8437t.jpg

 

Красным отмечен сам пивот - через него проходят оси от которых зависит обьект. Должен желательно находится посередине модели.

Синим отметил пункт под которым пивот настраивается.

Зелёным отмечены конкретные пункты настройки пивота.

  • Нравится 2

fb7cc3b532fce476a6e240310ebdb5fa.jpg

 

Ссылка на комментарий
WodkaGT в теме уже несколько раз упоминалось про ужатый СДК (от Haron), дак может вынесешь в шапку, что его не рекомендуется использовать, т.к. там порезаны *.thm, *.object и вдобавок убогая руссификация. Изменено пользователем nike
Ссылка на комментарий
WodkaGT в теме уже несколько раз упоминалось про ужатый СДК (от Haron), дак может вынесешь в шапку, что его не рекомендуется использовать, т.к. там порезаны *.thm, *.object и вдобавок убогая руссификация

кстати вопрос влияет ли русификация на работоспособноть СДК?

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...