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

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

Вопросы по SDK

Установка и настройка СДК - http://stalkerin.gameru.net/wiki/index.php?title=Установка_и_настройка_X-Ray_SDK_0.4,_0.5/0.6,_0.7
Текстовый вариант со ссылками в формате MS Word - https://yadi.sk/i/AqpNv6dbdpucw



X-Ray SDK v0.4


скачать
Глобальный патч v0.4 (16 Dec 2009) для X-Ray SDK v0.4
скачать
Собранный из исходников СДК 0.4, с нормальными диалоговыми окнами: скачать
 
СДК из исходников вылетает при запуске с ошибкой. Что делать? Решение есть.



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


скачать


Патчер, позволяющий использовать сдк 4гб памяти


скачать


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


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


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


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


!!!ВНИМАНИЕ!!! В этих (х64) компиляторах со временем были обнаружены пара неприятных моментов, но самый критический из них - это то, что xrAI собирает аи-сетку без просчета укрытий, то есть какой бы ключ вы не указали, она всегда будет на драфте. Как избавиться от этого бага и правильно собрать локацию читайте в спойлере ниже.


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 )
 
Последняя актуальная версия компиляторов х64 19_02_15: https://yadi.sk/d/tkpadSN1svQYr
 
Самая правильная, но затруднительная компиляция уровня + аи компиляторами х64.
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

1. Собрать левел 64-х битными компиляторами за 2014 год.

2. Для террейна использовать 64-х битные компиляторы за 2015 год. Они хорошо передают тени от лод объектов. Прервать после стадии Light Implicit.
3. Подставить террейны к версии, 64-х битными компиляторами за 2014 год.
4. Траву компилировать 64-х битными компиляторами за 2015 год.
5. Для компиляции АИ сетки на draft качестве использовать 64-х битные компиляторы.
6. Для компиляции АИ сетки с расчетом укрытий необходимо:
● Собрать левел на драфте любым 32-х битным компилятором.
● Собрать АИ сетку используя 32-х битные компиляторы.
● Копировать получившийся файл level.ai в папку с версией, собранной 64-х битными компиляторами.


Имя файла: 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. Ставим компиляторы:

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 помещаем в папку с игрой и запускаем новую игру.
Официальный 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

8. Открываем СДК. Это делается путем запуска батника LevelEditor в X-Ray SDK\level_editor.


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


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

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

Сюда же:


Почему у меня даже на 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 происходит примерно такое:
 
================================================================================
Вопрос: При экспорте OGF появляется такое сообщение:
 
================================================================================
Вопрос: Взял с карты, импортированой в 3ds Max - любой обьект. Выравниваю пайвот по обьекту (center to object). Далее помещаю обьект в центр координат, экспортирую. А в LE, при спавне этого обьекта - он оказывается хз где, а не по пайвоту. Подскажите как правильно выровнять надо.
 
Ответ: После того, как поставите объект куда надо - идём туда, где "включали пайвот" и нажимаем Reset Pivot - непосредственно перед экспортом. И экспортируйте на здоровье. Если объектов - много - выделяем их все, и также "сбрасываем" Pivot.
ИЛИ
Центрировать пайвот по обьекту, поставить в центр и в утилитах нажать Reset xForm.
 
================================================================================
Вопрос: Во время работы выводится ошибка invalid float operation, в логе появляется запись следующего вида:
 
Ответ: Как правило, эта ошибка вызывается файлом rt_object_props.ltx. Закройте SDK и удалите его.
 
================================================================================
Вылет при открытии СДК:
 
================================================================================
Cовместил SDK с игрой, но вылетает с ошибкой. Полный репорт ошибки:
 
================================================================================
Вопрос: 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, то вам явно стоит разобраться с секторами.
 
================================================================================
Вопрос: Как запустить Shader Editor, или "А вот это выскочило, когда я попытался запустить .exe-файл":
@start bins\ShaderEditor.exe
 
Если у вас подобная ошибка с другими .bat фаилами, возможно, вам нужно установить OpenAL 1.1.
================================================================================
Вопрос: Вылетает ошибка при валидации:
Edit mode - sector - remove default - create default.
Edit mode - portals - compute all.
..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.
Возможная причина: в Вашей модели более 60 000 фейсов (если смотреть в AE). В любом случае проблема в модели, точная причина пока не установлена.
..Export skeleton geometry (Compute bone bounding volume...)
Bone 'root' has invalid shape.
Bone 'connectbone01' has invalid shape.
Bone 'connectbone02' has invalid shape.
Export failed.
Ответ: Когда будете в SDK выбирать кости и делать Generate Shape, выбирате только те кости, к которым есть привязка... в данном случае - выбираем все кости, кроме тех на которые ругается сдк, то есть root, connectbone01, connectbone02 соответсвенно...
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()
Причина: отсутствие файла $no_sound.ogg в папке \gamedata\sounds\
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
Ответ: Вы просто забыли удалить либо переместить все .db фаилы в другую папку.
!Level doesn't contain HOM objects!
Ответ: Сделайте HOM-объекты на локации. Но к сведению... HOM-объекты для компиляции необязательны, то есть игра прекомпилит уровни и переваривает их и без них, так что ставьте на свое усмотрение. Если у вас пишет Invalid Scene!, то это никак не связано с тем, что вы не поставили сектора и порталы (HOM), а проблема в чем-то другом.
Expression : F
Function : I:xray-svn-trunkxrCoreELocatorAPI.cpp
File : I:xray-svn-trunkxrCoreELocatorAPI.cpp
Line : 63
Description : Can't open file:
Arguments : fs.ltx
Ответ: Создать в папке ...LevelEditor .bat-файл, в котором написать:
Error: Scene has 80301 non associated face!
Ответ: когда что-то меняется из статической геометрии, надо пересчитать сектора и порталы.


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

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

Причина:


Все компиляторы 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
 
[error]Expression : assertion failed
[error]Function : b_BuildTexture::Vflip
[error]File : d:\xray-svn\xrlc\build.h
[error]Line : 30
[error]Description : pSurface

Ответ: Весь смысл заключается в том, что в СДК оставили много лишнего, т.е. для текстур оставили


сгенерированные 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.
 
================================================================================
Вопрос: Компилятор бессловесно вылетает в середине компиляции! В логе ошибок нет, а последнее, что он просчитывал, приблизительно такого вида:
 
================================================================================
Карта не компилируется. Компилятор слетает с ошибкой:
 
В моделях НЕ должно быть:
очень длинных тонких треугольников;
потяжек текстур;
несвязанных рёбрами вершин.
Как это исправить?
Импортируем список ошибок, полученный при декомпиляции карты converter'ом, в LE (Compile-->Import Error List), затем подгружаем куски геометрии с подсвеченными полигонами в 3d-редактор и вручную приводим к соответствию вышеуказанным требованиям.
Или же просто используем компиляторы с обходом данной ошибки - для SoC и для CS/CoP.
 
================================================================================
Вылет на стадии дробления геометрии:
 
Причина: Как показала практика, причина данной проблемы техническая - недостаточная мощность компьтера. Какая конфигурация должна быть? Чем мощнее - тем лучше.
================================================================================
================================================================================

Если при запуске xrLC (в тч. xrDO) создается mdmp файл с ошибкой + не пишется лог стандартным методом в xrlc_***.log, но в engine.log есть информация такого типа:

Initializing File System...
using fs-ltx fsgame.ltx
stack trace:

0023:10029987 xrCore.dll, xrCriticalSection::raii::~raii()

[error][ 18] : Больше файлов не осталось. 

Нужно почистить папку $sdk_root\editors\temp
Применимо к сдк тч, чн, зп.

* 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
Ответ: У вас проблемы с объектами, либо каких-то из них попросту нет, либо они криво созданны в 3dsmax, либо настроенны неправильно, либо они где-то очень неудачно пересекаются с другими объектами, смотрите как настраивать правильно объекты в level editor в шестом вопросе этого FAQ.
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
Ответ: Геометрия карты содержит 145 вырожденных треугольников (invalid face'ов).
* 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...
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
Причина: не хватает указанного файла .thm. Чтобы решить проблему, берём одноимённую текстуру в формате .dds, конвертируем в .tga и кладём в папку import. Затем в LE или АЕ жмём Images-->Check New Textures. Если видим окно с надписью Found 1 new texture(s), то радуемся и жмём ОК. После этого откроется библиотека текстур. Чаще всего, при импорте текстур из оригинальной игры, настройка не требуется, поэтому жмём ОК. Если же это какая-нибудь новая текстура, тогда настраиваем её по образцу из оригинала.


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

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

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

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()

Причина: Много неслинкованных нодов на АИ-сетке.


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

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

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

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

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

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!

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

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

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

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:

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

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

Причина: нет рпонтов для игроков, им негде спавниться. Расставьте в LE.


Вопрос: я подключил уровень с НПС, все нормально, но когда я стреляю в НПС и прячусь от него, он начинает тупить и бежит на место спавна ГГ и начинает вести себя странно.. Аи-сетку проверил, точно все нормально, я уверен!
Ответ:


Вы создали\отредактировали какую либо локацию или группу локаций в СДК. Добавили нпс с логикой или без, в данном случае это не имеет значения. Успешно прошли все этапы сборки. Дошли до этапа тестирования. Стреляете по нпс, и укрывшись за ближайшим домом\деревом и т.п., видите, что вместо поиска, персонажи отправляется точно на место вашего спавна, останавливаются и начинают безумное вращение корпусом вверх-вниз, словно тот прыгает то под землю, то на поверхность. (к слову, последнее происходит далеко не всегда и нпс могут просто дойдя до точки спавна гг смотреть в произвольном направлении). На попытки привлечь их внимание не реагируют, вплоть до того момента, пока вы не окажетесь на одной линии с их взглядом. Атакуют, но упорно не желают вас преследовать. Снова прячемся - опять та же картина, все смотрят на точку вашего спавна.
Решением данной проблемы является обязательное наличие, при работе в СДК, в секции спавна гг, галочки напротив параметра Used Ai locations. По неизвестным причинам, в некоторых случаях, она может быть снята по умолчанию, что и приведет к вышеописанным проблемам в игре.



================================================================================
Вопрос: Как запустить карту консольно, то есть через батник?
Ответ: Для 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.. не компилит":

Invalid scene!

Ответ: читаем
================================================================================
Вопрос: Где в 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 и раскидываем кости по группам как на скрине,


608009.jpg

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




  • http://www.amk-team.ru/forum/uploads//ratings/bf.gif × 1
  • http://www.amk-team.ru/forum/uploads//ratings/thumb_up.png × 12
  • http://www.amk-team.ru/forum/uploads//ratings/wrench_orange.png × 2

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 02.12.2017 в 12:23, aka_sektor сказал:

Дак он у меня стоит с ..... Всегда вроде стоял

Я похоже понял, что-то с нпс я  намудрил однако

 

Да епрст, как заставить боксовые шейпы не пинаться? А то как прыгну на мусорку (https://yadi.sk/i/BphBbXvK3QFgmx) и полетел в космос!

 

С цилиндрической формой вроде такого не наблюдается!

 

Добавлено Murarius,

Правила форума, п. 2.6 (оверквотинг), злостный рецидив.

Режим "только чтение" на сутки + 33 балла в шкалу предупреждений.

Изучите правила цитирования (здесь)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 V92   

@BossBoroda материал шейпа настроить не пробовал? Не?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, V92 сказал:

@BossBoroda материал шейпа настроить не пробовал? Не?

Cтоит objects\tin_can

Изменял на другие, толку нет!

Изменено пользователем BossBoroda

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 V92   

@BossBoroda тогда не знаю, у меня такое очень редко бывает. Системы никакой нету, но модели не я делал - так что не скажу в чем проблема. Возможно поможет подгонка шейпа под модель, а не просто куб.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще вопросик) Как назначить мутантам место где они будут ходить и не выходить из этого места? В сдк есть сферы и боксы, может их как-то назначить можно?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 V92   

@BossBoroda смарт-террейны для этого предназначены. Куча статей по их настройке есть, изучай.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
CuJIbBEP   

@BossBoroda как-то пробовал ставить подобные шейпы как ограничитель "проникаемости" монстров согласно их размера. Например что бы псевдогиган не прошёл там где могут пробежать более мелкие монстры. В СДК в свойствах данного спавн-объекта можно было даже указать монстров галочками (праям как LOD`ы в соответствующем меню), но ничего толкового из этого не вышло (может быть я что-то не так делал).
Какой тип спавн-объекта нужно атачить к шейпу я не помню. В СДК от Юршата меню выбора монстров не нашёл, а оригинальный поставить нет возможности.

Изменено пользователем CuJIbBEP

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
UriZzz   

@BossBoroda вот тебе большой при большой учебник, учись http://stalkerin.gameru.net/wiki/index.php :dry:

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
ed_rez   
44 минуты назад, CuJIbBEP сказал:

ставить подобные шейпы как ограничитель "проникаемости" монстров согласно их размера

А не проще в конфиге задать размеры box-ов!?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
CuJIbBEP   

@ed_rez я о том что в СДК что-то было что то такое, с этим связанное. Я в конфигах не шпилю...
Суть в том что эти боксы перекрывают проход в сетке, по которой могут пройти компактные НПС, и не могут пройти негабаритные (вроде псевдогиганта).
На данный момент не могу вспомнить как в СДК вызвать меню со списком монстров.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 V92   

@CuJIbBEP смарт-террейн к шейпу присоединяется. А по поводу габаритов никак не исправишь. Если есть проход хоть в 1 нод - туда может зайти кто угодно. Это в движке зарыто. Закроешь - не зайдёт никто.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
CuJIbBEP   

@V92 да, но если перегородить этот проход данным спавн-объектом (каким не помню+шейп), то в СДК можно указать какие какие монстры проходят через него и какие нет.
Я просто не помню нюансов, вопрос по моему двухгодичной давности как минимум, я ещё на ХРюшке сидел и на оригинальном СДК. По этому вопросу ещё тестовую локу делал, потому и вспомнил. Помню что на ней монстры вели себя странно.

Изменено пользователем CuJIbBEP

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@CuJIbBEP ставишь спейс рестриктор и в свойствах мутанта ставишь галочку на этом с/р. В самом рестрикторе вроде никакого списка нет. Можно поставить с/р и установить ему такой параметр, что в него никто не войдёт или не выйдет из него.


  • http://www.amk-team.ru/forum/uploads//ratings/wrench_orange.png × 1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 V92   

@CuJIbBEP да, это спейсы. Потому и ведут странно, что фича эта криво сделана. Да и с точки зрения оптимизации ее использовать бессмысленно.


  • http://www.amk-team.ru/forum/uploads//ratings/tick.png × 1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

А машины кто нить умеет правильно спавнить?


  • http://www.amk-team.ru/forum/uploads//ratings/lol.png × 1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 V92   

@BossBoroda в СДК берешь - и ставишь, что там правильного? А просто в спавне - распакуй любой с машинами, и возьми секцию оттуда.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 часов назад, V92 сказал:

да, это спейсы. Потому и ведут странно, что фича эта криво сделана.

Аргументируйте(такое выдавил...)...

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
lildart   

Помогите, у меня при компиляции локации пишет что якобы не найден файл, но он есть в директориях gamedata\levels     rawdata\levels

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, V92 сказал:

@BossBoroda в СДК берешь - и ставишь, что там правильного? А просто в спавне - распакуй любой с машинами, и возьми секцию оттуда.

Дак там надо же прописать путь с скрипту, что то натыкать в настройках, как это так  просто? Как ты потом в них сядешь тогда?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Войти

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

Войти

×