Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> [SDK] X-Ray SDK 0.4
Neo][
сообщение 15.05.2007, 21:09
Сообщение #2781


The One
****************

Репутация:   744  
Группа: Участник
Сообщений: 2715
Регистрация: 05.12.2005




Вставить ник Цитировать выделенное в форуму быстрого ответа


Ответы на часто задаваемые вопросы
Вопрос: Какие системные требования у СДК?
Ответ: Неограниченные smile.gif Вот самые минимальные:
Процессор - 1000MHz
Память - 512Mb
Графика - Видеокарта с 32Mb памяти, и поддержкой шейдеров версии 1.1

Вопрос: Где можно скачать СДК?
Ответ: ЗДЕСЬ И обязательно установить этот ПАТЧ

Вопрос: Какие компоненты входят в пакет СДК?
Ответ:
LevelEditor - компоновщик уровней
ActorEditor - экспортер моделей, экспорт в ogf,omf и т.д
ShaderEditor - редактор параметров шейдеров
ParticleEditor - редактор эффектов игры
xrLC - базовый компилятор карт
xrDO_light - компилятор детальных объектов карты
Плагины экспорта геометрии для Maya 8 и 8.5
Документация (На английском языке) А вот ЗДЕСЬ - Полный русский перевод документации. (Автор Unic0de)

Вопрос: А где взять плагины для 3Ds Max?
Ответ: ЗДЕСЬ (Для 3Ds Max 8) или ЗДЕСЬ (Для 3Ds Max 7).

Вопрос: Будет ли СДК на синглплеер?
Ответ: СДК на синглплейер в обозримом будущем - не предвидится.

Вопрос: Есть ли СДК меньших размеров чем 300 Mb?
Ответ: Да. УЖАТАЯ ВЕРСИЯ (20 Mb)

Вопрос При запуске СДК - выводится окно:
"Сбой при инициализации приложения. Для выхода нажмите кнопку ОК" Что делать?
Ответ Установить .NET Framework 3.0Visual C Runtime

Вопрос При запуске СДК - выводится окно:
"Необходимый файл динамической библиотеки d3dx**.dll не найден" Что делать?
Ответ Установить Последний DirectX 9с (Июнь 2008)

Вопрос: Русифицирован ли СДК?
Ответ: Да. Вот русификатор

Вопрос:SDK не работает под Windows Vista. Что делать?
Ответ:SDK - несовместим с Vista. НО есть способ "запуска" - ЗДЕСЬ

Вопрос: А можно ли делать модели в самом редакторе? Не только компилировать, но и делать?
Ответ: Нет. Модели и геометрию создавать нельзя.

Вопрос: Есть ли в интернете документация и обучающие материалы на русском языке?
Ответ: Да. ЗДЕСЬ, и ЗДЕСЬ

Вопрос: При компиляции карты - компилятор слетает с ошибкой.
FATAL ERROR
Цитата
exp​ression : assertion failed
Function : b_BuildTexture::Vflip
File : d:\xray-svn\xrlc\build.h
Line : 30
Description : pSurface

Что делать?
Ответ: Прочитать ЭТО

Вопрос: Что такое HOM объект?
Ответ: Читаем ЭТО

Вопрос: При конвертировании объекта, с правильным именем, именем группы, с материалом, без вытянутых полигонов и нулевых, выдаёт надпись
Цитата
Can't convert to TriObject. Export Failed!

Что делать?
Ответ: Экспортируются Только объекты типа Edit Mesh, или Edit Poly. Никаких Групп!

Вопрос: Как запустить Shader Editor, Или "А вот ето выскочило,когда я попытался запустить exe файл"
Цитата
exp​ression : F
Function : I:xray-svn-trunkxrCoreELocatorAPI.cpp
File : I:xray-svn-trunkxrCoreELocatorAPI.cpp
Line : 63
Description : Can't open file:
Arguments : fs.ltx

Ответ: Создать в папке ...LevelEditor - БАТ-файл, в котором написать: @start bins\ShaderEditor.exe

Вопрос: Запускаю новую карту на полном динамическом освещении, вылет с логом (на этапе загрузки шейдеров):
Цитата
exp​ression : R
Function : CResourceManager::_CreatePS
File : D:\xray-svn\xr_3da\ResourceManager_Resources.cpp
Line : 270
Description : ...\s.t.a.l.k.e.r\gamedata\shaders\r2\deffer_impl_lmh_flat_d.ps

Ответ: Скачать и установить ИСПРАВЛЕНИЕ

Вопрос: Карта не компилируется. Компилятор слетает с ошибкой
Цитата
exp​ression : fatal error
Function : CBuild::PreOptimize
File : D:\xray-svn\xrLC\xrPreOptimize.cpp
Line : 132
Description : <no exp​ression>
Arguments : * FATAL: 145 invalid faces. Compilation aborted

Что делать?
Ответ:В какой-то (каких-то) из моделей на карте - есть 145 Invalid Faces. В моделях НЕ должно быть:
- Очень длинных тонких треугольников.
- Потяжек текстур.
- Несвязанных рёбрами вершин.

Вопрос: Что обозначают красные точки во вьюпорте level editor, после того как сделаешь build?:
Ответ: Вершины и координаты ошибок геометрии

Тутор по расстановке растительности от ВАС9


Архив лодов (high quality) для сдк любой версии. Присутствуют исходники tga c thm; dds получены без сжатия (32bit), для mip-maps использовался фильтр kaiser без флага dither.

Absolute Nature 3 SDK Object Pack
Фикс работы бампов Absolute Nature 3 для ТЧ
TGA/THM rawdata для чистого ТЧ SDK и пака деревьев Absolute Nature 3

Запуск на Win7 и Vista
Запуск на Win8

SAVandT (S.T.A.L.K.E.R. Sound Attribute Viewer and Tweaker) - удобная программа для добавления и правки игровых комментариев к .ogg файлам.

Сообщение отредактировал RayTwitty - 15.06.2018, 01:12
Перейти в начало страницы
 
167 страниц V  « < 138 139 140 141 142 > »   
Начать новую тему
Ответов
RayTwitty
сообщение 10.01.2012, 20:03
Сообщение #2782


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Вроде как подключил локу, сделал скриптовый переход на неё (для теста), но при загрузке мало того что загружается кордон (т.е. перехожу с кордона на кордон О_о), так еще и вылет без лога при загрузке. Скриптовый переход сделан правильно (много раз им пользовался, проблема явно не в нем). Проблема думаю где-то в аи-переходах. Вообщем подключал по этому тутору от K.D.
Тутор от K.D.
Первое, что вам понадобится - это установленный СДК с настроенным аивраппером. Как настроить - подробно описано в шапке темы. Далее необходимо определиться, какие локации вы хотите иметь в своем паке. Рассмотрим такой случай - мы хотим иметь в своей игре три локации: кордон, генераторы и болота ЧН.

1. Подготовка к подключению этих локаций друг к другу.
Кордон в СДК у нас уже есть - мы скопировали туда всю геймдату ТЧ после установки СДК. Копируете генераторы и болота в папку level_editor\gamedata\levels. Если локация была до этого скомпилирована в СДК ТЧ (в нашем случае кордон и генераторы), делать больше ничего не надо, переходите к шагу 2. Если локация из ЧН или ЗП - придется поработать, ДАЖЕ если вы взяли локацию из пака локаций для ТЧ. Рассмортим работу с локацией из ЧН или ЗП на примере болот ЧН:
а) Удалите из папки с локацией level.spawn и level.ltx. После этого в папке с конвертером от бардака (предполагается, что он есть и настроен) создаете батник с таким текстом:
converter -level marsh -mode le
pause
Конвертер декомпилирует болота в формат СДК.
б) Откройте в Actor Editor объект terrain_marsh. Выберите справа Object Items и смотрите, какой шейдер присвоен, если тот, которого не хватает, то присвойте один из оригинальных шейдеров
Пример для воды:
Shader - effects \ water
Compile - def_shaders \ def_vertex
Game Mtl - material \ water
в) Открываете Level Editor. В нем открываете болота. Переходите в раздел objects (панель справа) и удаляете все, кроме объекта terrain (клик по объекту - del). Если у вас не очень сильный компьютер и LE зависает при открытии - удалите все объекты, кроме террейна в папке rawdata\objects\levels\marsh.
г) Ставите на карту light. Нажимаете вкладку light, потом сверху слева кнопку "чайник" и потом кликаете куда-нить на локу
д) Теперь нажмите glow, и аналогичным образом ставите на локу glow. В появившемся окне со свойствами glow выберете textures, где задайте текстуру glow_04.
е) Поставьте граф-поинты. Для этого перейдите в spawn element ai > graph point и поставьте по уровню некоторое количество граф-поинтов. Чем больше, тем лучше, однако слишком усердствовать не стоит. Ставить необходимо в местах скопления сталкеров и по предполагаемым путям их хождения. Сотни граф-поинтов вполне хватит. Один из графов, где вы хотите сделать появление ГГ при переходе с другой локации, можете назвать start_actor_01.
ж) Ставите низкое качество компиляции. Затем зайдите scene > options, после чего переименуйте name prefix и level path в название локации
з) Делаете лоды. Заходите objects > objects library, там, где написано Preview, есть окошко. Нажмите туда, после чего в доп окошке Object Library перейдите в levels > marsh. Там нажмите на объект marsh_lod0000, после этого нажмите make lod (low quality), потом yes. Вылезет еще окошко - Select Library Objects, теперь опять levels > marsh и там плюсиками выберите все лоды локации. После этого - ок.
и) Добавьте на локацию какой-нибудь объект - например, автомат. Если этого не сделать, аивраппер потом будет капризничать.
к) Компилируете на низшем качестве - Make Game и Build.
л) Последний шаг - скомпилируйте геометрию. Создайте в папке level_editor батник
@start bins\compiler\xrLC.exe -f marsh
и дождитесь окончания.

На этом все. Переходим к шагу 2.

2. Работа с аивраппером.
Перед началом работы с авираппером, необходимо показать ему, с какими локами ему работать. Вам нужно править три файла: game_graphs.ltx, game_levels.ltx и games_maps_single.ltx. Все они лежат в папке level_editor\gamedata\config. Разберем содержимое каждого файла
----game_graphs.ltx-----
[location_0]
000 = "..."
001 = "l01_escape"
002 = "generators"
003 = "marsh"

<в секции location_0 необходимо составить список своих локаций. Остальное не трогаем>

[location_1]
000 = "..."
001 = "ограниченный доступ"
002 = "запрещенный доступ"

[location_2]
000 = "..."
001 = "не для игрока"

[location_3]
000 = "..."

----game_levels.ltx-----
[levels]
level01
level02
level03

<Записываете свои локации по такому образцу>

[level01]
name = L01_Escape
caption = "L01_Escape"
offset = 3000.0, 1000.0, 0.0
id = 01

[level02]
name = generators
caption = "generators"
offset = 1000.0, 1000.0, 6000.0
id = 02

[level03]
name = marsh
caption = "marsh"
offset = 2000.0, 1000.0, 0.0
id = 03

----game_maps_single.ltx-----
[level_maps_single]
L01_escape
generators
marsh

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[level_music_tracks]
music\amb01 = 0, 12, 0.5, 10,20
music\amb03 = 0, 12, 0.5, 10,15
music\amb07 = 12,24, 1.0, 5, 25

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[global_map]
texture = ui\ui_global_map --не трогаем!
bound_rect = 0.0,0.0, 1024, 2634.0 --не трогаем!
max_zoom = 6.0 --не трогаем!

[l01_escape]
texture = map\map_escape --путь к текстуре мини-карты для вашей локации
bound_rect = -317.164, -633.718, 404.880, 811.627 --координаты внутри локации в формате: минимальная X, минимальная Y, максимальная X, максимальная Y
global_rect = 355.0,2011.0, 576.0,2453.000000 --координаты локации на глобальной карте в формате: северо-западный угол - юго-восточный угол.
weathers = default --погодный пресет. Ставьте default, если не делали своего.
music_tracks = l01_escape_musics --амбиентные звуки на локации.

[generators]
texture = map\map_generators
bound_rect = -351.81, -639.389, 352.818, 65.245
global_rect = 300.0,500.0, 400.0,600.0
weathers = stancia

[marsh]
texture = map\map_marsh
global_rect = 22.0, 2113.0, 352.0, 2443.000000
bound_rect = -445.000000,-445.000000,755.000000,755.000000
weathers = boloto

С файлами разобрались. Теперь разберемся с аивраппером. Если ваша локация делалась с нуля в СДК, или вы работаете с локациями ЧН и ЗП, то для каждой из таких локаций нужно сначала просчитать АИ-сетку. В нашем случае это Болота. Создаем и запускаем такие батники в папке с аивраппером:

а) Сборка черновой сетки ИИ:
aiwrapper -draft -f marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.ai.
б) Проверка связности сетки ИИ:
aiwrapper -verify marsh
в) Просчёт укрытий для сетки ИИ.
aiwrapper -f marsh
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
г) Сборка ИИ-графа:
aiwrapper -g marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}

Далее нужно соединить наши локации аивраппером в единое целое. Для этого создаем и запускаем такие батники в папке с аивраппером:

а) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
б) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn

Если все прошло удачно - поздравляю. Однако еще не все.

3. Пересборка all.spawn. Если вы не работаете с локами ЧН или ЗП - пропускайте этот шаг.
Аивраппер собрал нам all.spawn - это замечательно. Однако от локации ЧН или ЗП у нас в спавне только автомат, что мы воткнули в LE. Нет ламп и источников света, нет лестниц. Чтобы привести локацию в более-менее приличный вид, нужно пересобрать спавн.
а) Первым делом, распакуйте получившийся спавн. Для этого качаем отличную тулзу acdc и открываем файл acdc.pl. Там найдите подобную таблицу:
use constant levels_info => (
{ gvid0 => 600, },
{ gvid0 => 329, name => 'marsh' },
{ gvid0 => 252, name => 'generators' },
{ gvid0 => 0, name => 'l01_escape' },
);

Оставляете только те локации, что мы объединяем. Меняем параметр gvid0 на начальный геймвертекс вашей локации. Узнать эти вертексы просто - в папке с acdc должна быть тулза ggtool.pl. Берете получившийся при работе аивраппера game.graph (из папки level_editor\gamedata) и кидаете его в папку с ggtool.pl. После чего создаем и запускаем такой батник:
ggtool.pl game.graph >svyazi.txt
После окончания работы тулзы открываете появившийся файл svyazi.txt и там смотрите начальные вертексы. Верхнее ограничение по вертексам (gvid0 => 600) высчитывается примерно как вертекс от последней локи + 300-400 (возьмем с запасом).

После правки acdc.pl кидаете в папку с ним получившийся all.spawn (из папки level_editor\gamedata\spawns). После этого декомпилируете all.spawn. Открываете файл alife_marsh.ltx (наша ЧН-локация). Распакуйте оригинальный спавн той игры, откуда выдернули локацию (у нас ЧН), и открываете файл наше локации. Теперь основная задача - перенести из оригинального спавна в наш секции следующего типа:

section = climable_object (это лестницы)
section = lights_hanging_lamp (источники света)

Вообще, можете переносить хоть все - зависит от того, хотите ли вы получить чистую локацию или с оригинальным спавном. Единственный совет - не копируйте секции breakable_object и проверяйте визуал в секциях lights_hanging_lamp. Наличие breakable_object или ссылок на визуалы ламп, которых нет в ТЧ, приведет к вылетам Invalid vertex type for skinned object. Лечение пока не найдено.

Еще одно замечание - правьте game_vertex_id у переносимых секций. Значение гейм-вертекса должно соответствовать локации. В нашем примере, кордону соответствуют вертексы 0-252, генераторам - 252-329, болотам - больше 329 (смотрим acdc.pl).

На этом все. Если хотите, сделайте переходы между локациями. Компилируете all.spawn

4. Создание АИ-переходов.
Поскольку сборку мы создаем для дальнейшего моддинга, нам необходимы АИ-переходы. Эти переходы позволяют неписям переходить с локи на локу. Даже если вы не собираетесь отправлять ваших квестовых неписей на другю локацию, без аи-переходов невозможен полноценный оффлайн-алайф. Поэтому сделаем их.
Делать Аи-переходы можно двумя способами. Первый - вместо aiwrapper -m сделать aiwrapper -m2 links.fixed. В файле links.fixed здесь указываются соединяемые вертексы разных локаций. Однако, я больше привык использовать второй способ - работать с утилиткой Колмогора - edge_add, ее и опишу.
Кладете свой game.graph в папку с edge_add.exe. Создаем батник, где прописываем следующее:

edge_add.exe game.graph 37 300
del game.graph
rename game.graph.new game.graph
edge_add.exe game.graph 45 400
del game.graph
rename game.graph.new game.graph
edge_add.exe game.graph 320 420
del game.graph
rename game.graph.new game.graph

Числа - это соединяемые вертексы локаций. Здесь написаны наобум, когда будете делать сами - выбирайте вертексы поближе к краям лок, там, где непись бы логично мог пройти.
После запуска и окончания работы утилитки получаем готовый game.graph

5. Правка карт освещения.
Этот шаг выполняется только для локаций из ЧН или ЗП, и только в том случае, если вы брали локу из оригинальной игры. Если это ваш случай, начнем. А если брали из пака лок для ТЧ - делать шаг НЕ НАДО.
Открываете папку с локацией там, где вы ее брали. Находим такие файлы lmap*_1.dds и lmap*_2.dds. Наша задача - чтобы в r1 и r2 не было некрасивых жутко черных теней.
Работаем через программу paint.net (требует установленного .Net Framework v2.0), кто умеет, может делать через фотошоп.
В папке с уровнем будем редактировать лайтмапы:
lmap*_1.dds - снижаем контраст на 15 единиц и сохраняем в формате dxt5 без мипмапов, с ними все
lmap*_2.dds переделывать сложнее - задача сделать менее прозрачным. Пересохраняем как dds в формате R5G6B5, прозрачность исчезнет совсем. Открываем снова и меняем прозрачность с 255 до 30, затем снижаем контраст на 15 единиц и сохраняем в формате dxt5 без мипмапов.

6. Вставка локаций в игру.
Нам необходимы следующие файлы:
configs\game_graphs.ltx
configs\game_levels.ltx
configs\game_maps_single.ltx
levels\l01_escape\
levels\generators\
Копируйте эти файлы в геймдату игры из геймдаты СДК. Также нужны файлы game.graph и spawns\all.spawn, их берете оттуда, где с ними работали.
Мы пока не скопировали паку с болотами. У лок из ЧН или ЗП несколько другой порядок копирования в геймдату игры:

--Берете папку marsh из оригинала, где брали ее изначально. Если берете из оригинальной игры - проверьте, что сделали шаг 5.
--Копируете в геймдату игры в папку levels
--из папки level_editor\gamedata\levels\marsh копируете с заменой два файла - level.gct и level.ai - в папку marsh в геймдате игры.

Все, теперь все готово. Можете запускать игру. Могут быть вылеты по шейдерам или текстурам - это нормально. Просто вставьте в геймдату игры недостающие текстуры и добавьте недостающие шейдеры с помощью Shader Editor.
Маленький совет: если ваша локация уже есть в оригинальной игре (у нас кордон), для уменьшения веса сборки всю папку levels\l01_escape копировать необязательно. Достаточно лишь скопировать файл level.gct из папки кордона в СДК в папку levels\l01_escape.

При составлении данного тутора использовались туторы от KostyaV, D1m0n и HitmanNew, а также ридми к программам от Колмогора и Бардака.

Дошел до 4 пункта, скачал прогу Колмогора. Потом скачал graph viewer чтобы узнать координаты точек, но не понял как им пользоваться. Но потом нашел скрины с координатами на двух локах, в т.ч. на той которую хотел подключить, там скринах посмотрел гейм-вертексы точек где стоял ГГ и вписал их в батник
Код
edge_add.exe game.graph 3 84
del game.graph
rename game.graph.new game.graph

Соединил кордон и новую локу (скриптовый переход тоже с кордона был). Я думаю может здесь ошибся? Может координаты гейм-вертекса надо было подругому снять? Просто думаю может на добавляемой локе уже есть такой гейм-вертекс как на кордоне, поэтому как бы с кордона на кордон переход идет...
---
Забыл добавить: лока которую подключаю уже сделана для ТЧ, я её просто к синглу подсоединяю.

Сообщение отредактировал Shadows - 10.01.2012, 20:15
Перейти в начало страницы
 
Kostya V
сообщение 11.01.2012, 05:02
Сообщение #2783


Продвинутый геймер
********

Репутация:   136  
Группа: Участник
Сообщений: 464
Награды: 1
Регистрация: 28.10.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Для того, чтобы подключить локацию не обязательно создавать АИ переходы.
Ну а если все таки хочется, то координаты точек для АИ переходов ты взял не правильно. Брать их надо из скомпиленного тобой геймграфа.
Перейти в начало страницы
 
K.D.
сообщение 11.01.2012, 08:31
Сообщение #2784


Почти Мастер
***********

Репутация:   311  
Группа: Участник
Сообщений: 1092
Награды: 5
Регистрация: 01.03.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shadows, АИ-переходы не для актора - они для неписей. Можно их вовсе не делать. Актор у тебя появляется на кордоне из-за плохой настройки перехода.
Перейти в начало страницы
 
RayTwitty
сообщение 11.01.2012, 17:38
Сообщение #2785


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(K.D. @ 11.01.2012, 08:31) *
Актор у тебя появляется на кордоне из-за плохой настройки перехода.


Хм... Может потому, что я снимал координаты до того как начал подключать? Всмысле на авторской версии, где для теста просто побегать можно, тогда и снял координаты. Может они (и вертексы) сбиваются при присоединении к общему списку локаций?
Кстати, а возможен ли такой случай, что вертексы добавленной локации могут уже быть на оригинальной? Может из-за этого и глюки?

Цитата(Kostya V @ 11.01.2012, 05:02) *
Ну а если все таки хочется, то координаты точек для АИ переходов ты взял не правильно. Брать их надо из скомпиленного тобой геймграфа.


Ха блин, точно. Надо было в графе смотреть же... Вот теперь прога мне стала понятна smile.gif Спс.

K.D., можешь глянуть, правильно ли я всё сделал? Всмысле напишу конкретно как подключал локацию. Кратко:
Как я делал
Подготовил СДК и аиврапер. После чего перекинул папку с новым левелом в gamedata\levels. Далее первый шаг не смотрю, так как локация из билда, уже сделана для ТЧ.
2 шаг. Прописал всё в конфигах, думаю тут ошибок нет. Хотя... Распишу кое-чего, правильно ли я сделал:
Открыть
В оригинальной игре, файл game_graphs.ltx выглядит так:
Код
[location_0]
  000          = "..."
  001          = "эскейп"
  002          = "свалка"
  003          = "агропром"
  004          = "агропром-подземка"
  005          = "темная долина"
  006          = "лаборатория X-18"

Я же его переделал вот так:
Код
  000          = "..."
  001          = "l01_escape"
  002          = "l02_garbage"
  003          = "l03_agroprom"
  004          = "l03u_agr_underground"
  005          = "l04_darkvalley"
  006          = "l04u_labx18"
  007          = "l05_bar"
  008          = "l06_rostok"
...

Правильно? То есть составил нормальный список лок. И потом же этот файл без изменений кинул себе в геймдату, когда подключил.


После чего пропустил часть шага т.к. лока из билда:

Вот эту часть шага пропустил
Цитата
С файлами разобрались. Теперь разберемся с аивраппером. Если ваша локация делалась с нуля в СДК, или вы работаете с локациями ЧН и ЗП, то для каждой из таких локаций нужно сначала просчитать АИ-сетку. В нашем случае это Болота. Создаем и запускаем такие батники в папке с аивраппером:

а) Сборка черновой сетки ИИ:
aiwrapper -draft -f marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.ai.
б) Проверка связности сетки ИИ:
aiwrapper -verify marsh
в) Просчёт укрытий для сетки ИИ.
aiwrapper -f marsh
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
г) Сборка ИИ-графа:
aiwrapper -g marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}

Ведь правильно?
После чего склеил граф и собрал спавн. Всё прошло нормально.
3 шаг пропускаю, т.к. лока из билда.
4 шаг - аи переходы. Получается они не обязательны, пока можно тоже пропустить.
5 шаг, пока тоже не трогаю, если проблемы будут, текстурки подправлю.
6 шаг, собсно скопировал себе 3 конфига, граф, спавн, сам новый левел и файлы level.gct от каждой локи. Вроде правильно?
Ну потом сделал для теста скриптовый переход.
Вот правильно я сделал всё? Или может какие-то из шагов не надо было пропускать?


Сообщение отредактировал Shadows - 11.01.2012, 18:03
Перейти в начало страницы
 
K.D.
сообщение 11.01.2012, 18:09
Сообщение #2786


Почти Мастер
***********

Репутация:   311  
Группа: Участник
Сообщений: 1092
Награды: 5
Регистрация: 01.03.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shadows, если у тебя игра не вылетает при старте - как минимум, сделал правильно, не считая нюансов. Ты переход-то покажи. Граф поинты при компиляции глобального графа получают сквозную нумерацию и сохраняются как вертексы. Если при переходе оказываешься на той же самой локации - dest_game_vertex_id перехода кривой, как минимум.
А зачем вообще спавнить переход скриптом? Это же не булка - заспавнил и забыл - для каждого перехода надо перебирать нет-пакет и менять кусок cse_alife_level_changer. Проще делать их через спавн.

Кстати, а как ты определил, что переходишь с кордона на кордон, если дальше вылетает?

Сообщение отредактировал K.D. - 11.01.2012, 18:10
Перейти в начало страницы
 
RayTwitty
сообщение 11.01.2012, 18:15
Сообщение #2787


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(K.D. @ 11.01.2012, 18:09) *
Ты переход-то покажи. Граф поинты при компиляции глобального графа получают сквозную нумерацию и сохраняются как вертексы. Если при переходе оказываешься на той же самой локации - dest_game_vertex_id перехода кривой, как минимум.


Собственно вот:
открыть
Код
function create_level_changer(p_story_id, p_position, p_lvertex_id, p_gvertex_id, p_dest_lv, p_dest_gv, p_dest_pos, p_dest_dir, p_dest_level, p_silent)
    local obj = alife():create("level_changer", p_position, p_lvertex_id, p_gvertex_id)
    local packet = net_packet()
    obj:STATE_Write(packet)
    local game_vertex_id = packet:r_u16()
    local cse_alife_object__unk1_f32 = packet:r_float()
    local cse_alife_object__unk2_u32 = packet:r_u32()
    local level_vertex_id = packet:r_u32()
    local object_flags = packet:r_u32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_u32()
    local spawn_story_id = packet:r_u32()
    local shape_count = packet:r_u8()
    for i = 1, shape_count do
        if packet:r_u8() == 0 then
            local center = packet:r_vec3()
            local radius = packet:r_float()
        else
            local axis_x_x = packet:r_float()
            local axis_x_y = packet:r_float()
            local axis_x_z = packet:r_float()
            local axis_y_x = packet:r_float()
            local axis_y_y = packet:r_float()
            local axis_y_z = packet:r_float()
            local axis_z_x = packet:r_float()
            local axis_z_y = packet:r_float()
            local axis_z_z = packet:r_float()
            local offset_x = packet:r_float()
            local offset_y = packet:r_float()
            local offset_z = packet:r_float()
        end
    end
    local restrictor_type = packet:r_u8()
    local dest_game_vertex_id = packet:r_u16()
    local dest_level_vertex_id = packet:r_u32()
    local dest_position = packet:r_vec3()
    local dest_direction = packet:r_vec3()
    local dest_level_name = packet:r_stringZ()
    local dest_graph_point = packet:r_stringZ()
    local silent_mode = packet:r_u8()
    packet:w_begin(game_vertex_id)
    packet:w_float(cse_alife_object__unk1_f32)
    packet:w_u32(cse_alife_object__unk2_u32)
    packet:w_u32(level_vertex_id)
    packet:w_u32(bit_not(193))
    packet:w_stringZ(custom_data)
    packet:w_u32(p_story_id)
    packet:w_u32(spawn_story_id)
    packet:w_u8(1)
    packet:w_u8(1)
    packet:w_float(2)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(4)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(4)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_u8(3)
    packet:w_u16(p_dest_gv)
    packet:w_u32(p_dest_lv)
    packet:w_vec3(p_dest_pos)
    packet:w_vec3(p_dest_dir)
    packet:w_stringZ(p_dest_level)
    packet:w_stringZ("start_actor_99")
    packet:w_u8(p_silent)
    packet:r_seek(0)
    obj:STATE_Read(packet, packet:w_tell())
end

function test_lc() -- вызываю при новой игре, но не суть важно
    create_level_changer(5510, vector():set(-208.9,-20.3,-167.8),43917,50,
    7425,3, vector():set(-182.9,-35.2,60.2), vector():set(0.0,1.56,-1.0), "l14_factory", 0) -- координаты которые снял до подключения локации (на авторской версии для теста).
end


Цитата
Кстати, а как ты определил, что переходишь с кордона на кордон, если дальше вылетает?

Ну во первых картинка при загрузке от кордона, во вторых в автосейве пишут, что кордон (всмысле потом, если перезайти в игре, автосейв же сохранился, в нем пишут левел)... Вылет кстати при синхронизации.

А как вообще снимать правильно координаты на локации, для перехода если на ней еще не был (только подключил)?

Сообщение отредактировал Shadows - 11.01.2012, 18:17
Перейти в начало страницы
 
K.D.
сообщение 11.01.2012, 18:54
Сообщение #2788


Почти Мастер
***********

Репутация:   311  
Группа: Участник
Сообщений: 1092
Награды: 5
Регистрация: 01.03.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shadows, однозначно криво спавнишь переход. p_dest_gv = 3 - это же кордон. Что такое вертекс? Это точка графа игры. Считай, сетка, по которой ходят неписи. Есть локальный (уровневый) граф - для навигации неписей по локации, есть глобальный граф - для навигации неписей по всей карте. Понятно, что при компиляции всех локаций в один граф, все его точки получают уникальные значения, независимо от их нумерации до компиляции. Поэтому надо снимать номер вертекса после компиляции глобального графа. Можно проще: на Тчшном кордоне 252 вертекса. Если присоединяешь локацию после кордона, надо, значит, ко всем ранее снятым гейм-вертексам прибавить 252. Координаты и левел-вертексы, понятное дело, не меняются при сборке глобального графа.

Снять координаты для перехода можно элементарно - заспавнь актора на этой локации. Необязательно же с кордона переходить. Ну или, как вариант, в СДК закинь на локу какой-нибудь предмет, после компиляции спавна разбери его с помощью acdc и возьми координаты.
Перейти в начало страницы
 
RayTwitty
сообщение 11.01.2012, 21:12
Сообщение #2789


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


K.D., большое спасибо, подключил, всё работает smile.gif
Только произошла одна неприятная вещь - в алл.спавне параметры всех объектов в игре сбиты. То есть всё оружие заспавненное на локах убитое полностью, у вещей не правильный вес и т.п. Где-то слышал про такие проблемы. В связи с этим вопрос - есть ли лечение? Не переписывать же овер9000 секций в алл.спавне вручную z_crazy.gif
Перейти в начало страницы
 
K.D.
сообщение 11.01.2012, 23:13
Сообщение #2790


Почти Мастер
***********

Репутация:   311  
Группа: Участник
Сообщений: 1092
Награды: 5
Регистрация: 01.03.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shadows, лечение есть и весьма простое - выкинуть аивраппер и использовать вместо него xrAI для ТЧ.
Перейти в начало страницы
 
RayTwitty
сообщение 11.01.2012, 23:55
Сообщение #2791


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(K.D. @ 11.01.2012, 23:13) *
Shadows, лечение есть и весьма простое - выкинуть аивраппер и использовать вместо него xrAI для ТЧ.


А как надо юзать xrAI, чтобы скомпилить граф и спавн? Скачать скачал, а вот тутора нигде пока не нашел.
Перейти в начало страницы
 
K.D.
сообщение 12.01.2012, 08:31
Сообщение #2792


Почти Мастер
***********

Репутация:   311  
Группа: Участник
Сообщений: 1092
Награды: 5
Регистрация: 01.03.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shadows, А ровно также, как и аивраппер. -m, -s. Смотри, как сделаны батники аивраппера для компиляции xrAI от 2588.
Перейти в начало страницы
 
Veresk
сообщение 12.01.2012, 22:34
Сообщение #2793


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Маленький вопрос: будет ли развиваться создание плагинов импорта/экспорта .object для 3Д макса? Интересуют сохранение настроек шейдеров/компила/материалов при этих операциях.


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
stalker petroff
сообщение 13.01.2012, 20:47
Сообщение #2794


Почти Игроман
*********

Репутация:   88  
Группа: Участник
Сообщений: 511
Награды: 3
Регистрация: 19.09.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Они и так сохраняются.
Перейти в начало страницы
 
Veresk
сообщение 14.01.2012, 12:44
Сообщение #2795


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


да вы что laugh.gif поделитись сими волшебными плагинами


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
stalker petroff
сообщение 14.01.2012, 20:43
Сообщение #2796


Почти Игроман
*********

Репутация:   88  
Группа: Участник
Сообщений: 511
Награды: 3
Регистрация: 19.09.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Лучше вы поделитесь плагинами которые при экспорте не сохраняют настройки шейдеров материалов. Любопытно где вы их откопали, сколько не ставил плагинов и на 8 и на 11 макс - все все сохраняли.
Перейти в начало страницы
 
Veresk
сообщение 14.01.2012, 22:51
Сообщение #2797


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


чрезвычано умный "еврейский" ответ. Если вам нечего сказать, то помолчите пожалуста. Если у вас такие хорошие плагинчики, то продемонстрируте мне их работу на предоставленном мной обжекте. Хотя наверно вы сейчас скажите, что увас макс не установлен и вам его качать влом laugh.gif

для импорта знаю только плагин от нео, для экспорта от него же, от бардака, от ГСЦ.


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
РСФСР
сообщение 16.01.2012, 00:20
Сообщение #2798


Мастер Игры
************

Репутация:   193  
Группа: Забанен
Сообщений: 1324
Регистрация: 05.12.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Подскажите пожалуйста, насколько маску для террейна надо делать прозрачной?

Сообщение отредактировал РСФСР - 16.01.2012, 00:20


--------------------
Землю - крестьянам, фабрики - рабочим, власть - советам, мир - народам, тюрьмы - демократам.
http://www.youtube.com/watch?v=MfxEHLMTpSo...player_embedded
кургинян отжигает
Перейти в начало страницы
 
БогДан
сообщение 16.01.2012, 00:50
Сообщение #2799


Игровой Эксперт
***************

Репутация:   636  
Группа: Участник
Сообщений: 2251
Награды: 6
Регистрация: 12.04.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


По аналогии с имеющимися:
маска Кордон (белым - под сданиями, в "дырах" террейна)



Если мне склерос не изменяет: черный - полная прозрачность, белый полная не прозрачность.


--------------------
Перейти в начало страницы
 
РСФСР
сообщение 16.01.2012, 01:26
Сообщение #2800


Мастер Игры
************

Репутация:   193  
Группа: Забанен
Сообщений: 1324
Регистрация: 05.12.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


БогДан, Нет, я имел ввиду на сколько прозрачной надо делать всю маску.


--------------------
Землю - крестьянам, фабрики - рабочим, власть - советам, мир - народам, тюрьмы - демократам.
http://www.youtube.com/watch?v=MfxEHLMTpSo...player_embedded
кургинян отжигает
Перейти в начало страницы
 
stalker petroff
сообщение 16.01.2012, 01:58
Сообщение #2801


Почти Игроман
*********

Репутация:   88  
Группа: Участник
Сообщений: 511
Награды: 3
Регистрация: 19.09.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


чрезвычано умный "еврейский" ответ. Если вам нечего сказать, то помолчите пожалуста. Если у вас такие хорошие плагинчики, то продемонстрируте мне их работу на предоставленном мной обжекте. Хотя наверно вы сейчас скажите, что увас макс не установлен и вам его качать влом

Очень смешно. Вам практически прямым текстом написали что все работает. Но если еще непонятно - у меня сейчас два Макса установлено (8й и 2011й и еще 2008 Майя) и в обоих Максах при экспорте как статики так и динамических объектов сохраняются настроенные шейдеры/материалы. Высосали проблему из пальца еще и решаете что я скажу.
Перейти в начало страницы
 

167 страниц V  « < 138 139 140 141 142 > » 
Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 08.05.2024, 21:49