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

[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 без проблем.


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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...