Перейти к содержанию

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

 

35fa1a2234.png

Разработчик: GSC Game World
Версия: 0.7 (CoP) от 28 декабря 2010 года

Описание:

Спойлер

Это инструментарий, представляющий из себя обновленную версию X-Ray SDK CS с полным набором инструментов для работы с игрой S.T.A.L.K.E.R. - Зов Припяти на движке X-Ray Engine 1.6. Позволяет работать с модификациями любой сложности, вплоть до тотальных конверсий с полностью новым содержимым.

Состав:

Спойлер
  • Level Editor
  • Actor Editor
  • Shader Editor
  • Particle Editor
  • Postprocess Editor
  • Dialog Editor
  • Script Debugger
  • xrAI
  • xrLC
  • xrDO
  • Документация по основам работы на русском языке

Изменения:

Спойлер

Level Editor

  • Доработан инструмент Move. Теперь необязательно переключаться нужную ось для перемещения объекта, теперь на объекте отображаются контроллеры, за которые достаточно просто потянуть курсором.
  • Появилась отсутствовавшая в X-Ray SDK CS возможность использования spawn element классов: actor, camp, smart_terrain, smart_cover и им подобных.
  • Таким образом, в X-Ray SDK CoP появилась возможность работы со смарткаверами (которые хоть и появились впервые в ЧН, но в его SDK были недоступны) в частности и уровнями для одиночной игры в целом (имевшаяся в LE X-Ray SDK CS, но достаточно ограниченная).
  • Убран ряд устаревших классов spawn element, добавлены задействованные в ЗП классы.
  • Появился инструмент Simulate / UseSimulatePositions, предназначенный для проверки физики прямо в редакторе.
  • Для ряда классов spawn element отображаются вспомогательные модели, упрощающие работу в ситуациях, когда в сцене много объектов.
  • Небольшие изменения перечислять нет особого смысла. Так или иначе, Level Editor содержит все необходимые для работы с любым уровнем инструменты.

Postprocess Editor

  • Приложение для создания и редактирования файлов *.ppe (постпроцесс-эффектов). Достаточно просто в освоении: семь классов эффектов, ряд параметров в каждом, возможность строить последовательности и другие возможности.
  • Отсутствовало как в X-Ray SDK SoC, так и в X-Ray SDK CS.

xrAI, xrLC, xrDO

  • В компиляторах новой версии улучшена поддержка многопоточной работы на многоядерных процессорах, и они используют до 4 Гб памяти (для сравнения: компиляторы ЧН хоть и поддерживали 4 ядра, но в них еще не была реализована адресация памяти, а в ТЧ и вовсе использовался только один поток). Скорость компиляции при полной нагрузке, соответственно, может вырасти до двух раз по сравнению с ЧН.
  • Также стоит заметить, что именно невозможность адресации компилятором более, чем 2 Гб ОЗУ, была причиной ряда ограничений, с которыми сталкивались разработчики модов: на максимальный размер AI-сетки (и, следовательно, размер играбельной площади уровня) и на максимальное количество вершин, - причем в ситуациях, когда сама игра бы вполне выдержала уровень.
  • Разумеется, это не означает, что стоит пробовать делать уровни в 5х5км или 20 миллионов полигонов, но ситуаций, когда движок может работать с уровнем, а компилятор - не в состоянии его собрать из-за ошибок переполнения памяти, - происходить уже не должно.


Сетевая компиляция

  • Важное нововведение - возможность компиляции уровня на нескольких компьютерах одновременно.
  • Выполняется она с помощью xrLC и дополнительных приложений. Один компьютер выполняет роль "координатора", остальные, "агенты", работают с определенными им задачами.
  • Для простоты работы к SDK приложены уже настроенные исполняемые файлы, с которыми достаточно лишь указать имя уровня и IP координирующего компьютера.
  • Смысл использования такой компиляции понятен - она позволяет собирать сложные уровни с очень высокими установками качества за куда меньшее время, чем на одном PC. Разумеется, со времен xrLC ТЧ, у которого уходило до недели чистого времени на сборку крупного уровня в высоком качестве, скорость работы компилятора возросла до четырех раз, но время компиляции всё равно не назовешь быстрым.

Dialog Editor

  • Приложение для редактирования диалогов игры в формате *.xml с поддержкой условий и проверок: has_info, dont_has_info, give_info, disable_info, precondition, action.

Script Debugger

  • Приложение для отладки Lua скриптов, проверка синтаксиса и их валидности. Поддерживает работу с Source Control Center.
  • В X-Ray SDK CoP совершенно кардинальных изменений нет. Движок создан не вчера, и большинство инструментов подходит для работы в неизменном виде уже который год. Главным является то, что по сравнению с X-Ray SDK SoC и X-Ray SDK CS, предназначенных исключительно для работы с мультиплеерными уровнями, в версии 0.7 все инструменты присутствуют в полном объеме, и совместимы с последними версиями форматов, используемых в X-Ray Engine 1.6 (ЗП).

Совместимость:

Спойлер
  • Формат уровней (за исключением данных, относящихся к xrAI), практически не менялся, поэтому результаты работы xrLC могут быть использованы и в ЧН. Разумеется, это относится только к мультиплеерным картам либо использованию геометрии.
  • Файлы, собранные xrDO, совместимы как с ЗП, так и с ЧН и ТЧ.
  • Файлы *.thm совместимы со всеми версиями игры вплоть до ТЧ 1.0004.
  • Формат скелетных объектов *.ogf в ЗП и ЧН одинаков, - результаты работы в Actor Editor можно использовать в обеих играх.

Неофициальные патчи:

Спойлер

Патч от Loxotron

  • Добавлены *.dll для плагинов к Maya
  • Добавлен ActorEditorLevel.cform для корректной работы функции Simulate в ActorEditor

Патч от K.D.

  • Форсировано использование групп сглаживания при экспорте моделей.
  • Работает с группами сглаживания как 3ds Max, так и Maya.

Скриншоты:

0472557e37.png  af35453f91.png
 

Патч от macron

  • Исправление вылета при построении уровня на стадии Merge LOD textures.
  • Ошибка возникала из-за большого количества лод-объектов на локации (>128). Они просто не вмещались на текстуру 2048х2048. Теперь текстура будет увеличена до нужных размеров и соответственно лодов можно будет ставить намного больше.
  • Включена поддержка более 2 Гб ОЗУ для всех редакторов.

Патч от Kontro-zzz

  • Снято ограничение по добавлению большого количества моделей на сцену за один раз (через Multiple Append и т.п.). В оригинале было максимально 32 модели.

Установка:

Спойлер
  1. Скачайте по одной из доступных ссылок: X-Ray SDK CoP, а также патчи.
  2. Запустите файл инсталлятора xray-cop-sdk-setup.exe и установите SDK в удобную для вас директорию.
    • ВНИМАНИЕ! Путь к директории не должен содержать пробелов, иначе при работе с SDK будет происходить вылет.
  3. Запустите *.exe-файл инсталлятора первого патча, и установите его в корневую директорию X-Ray SDK CoP.
  4. Файл "xrECoreB.dll" из патча от K.D., переместите с заменой в директорию: "X-Ray_SDK_CoP/editors/bin/designer/mixed."
  5. Распакуйте архив с файлами третьего патча в корневую директорию X-Ray SDK CoP с заменой.
  6. Распакуйте архив с файлами четвертого патча в корневую директорию X-Ray SDK CoP с заменой.
  7. Распакуйте игровые архивы Зова Припяти и переместите полученную папку gamedata с заменой в директорию "X-Ray_SDK_CoP/editors."

Ссылки на скачивание:

В теме можно задавать любые вопросы, так или иначе связанные с СДК, но вопросы, которые его не касаются, следует писать в специальных для этого темах у нас на форуме, заранее спасибо!

  • Лайк 10
  • Мастер! 2
  • Жму руку 1
  • Смущение 1
  • Хабар 3
  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
19 минут назад, -HARD- сказал:

Не пробовал нажать продолжить?

Можно использовать Particle Editor Tools. Но есть один минус, после редактирование данной программой. X-Ray перестанет видеть партиклы. Но игра будет работать! (если все правильно сделаешь).

После того, как появляется ошибка, Windows сразу закрывает программу (или сам SDK закрывается), и никакого диалогового окна не появляется.

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


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

Есть такой вопрос. Недавно декомпилировал локации, после пересобрал спавн и перекинул в игру. Но в игре, НПС заспавнил только один смарт-тиррейн, который ближе всего к ГГ, а другие - нет. Решил, что дело в нем и передвинуть ГГ к другому смарту, ничего не изменилось.

Сверил смарт-тиррейны, тот что спавнит и тот, что не спавнит, настройки индентичные, при чем, я их даже не менял после декомпиляции, я просто взял, декомпилировал и собрал общий спавн.

Потом решил, что компилятор их просто не создал, что мало вероятно. Декомпилировал локацию с новым спавном, все на своих местах, то есть все смарт-тиррейны есть. 

Решил, что проблема в СДК, так как использовал неофициальный 0.8. Взял репак от DaaGuda, никакой разницы. Как я понял, проблема либо в gamedata, либо в rawdata. Так как если беру старый спавн, то становится нормально.

Сижу второй день и понимаю, что делать, нужные файлы для компиляции и декомпиляции есть, ошибок в логе не видел, что я делаю не так?

Вот логи, если нужно: xrai_Администратор.log

P.S. Локаций всего 3, но в логе одна, так проверял, влияют ли другие локации на спавн. В не зависимости от локаций, результат одинаковый. Когда делаю общий спавн, ошибки с переходами нету.

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


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

AziatkaVictor  
1. Нумерация смарттерейнов.
2. Правильный адрес на файл логики смарттерейна  в кастом дате,  у каждого смарта отдельный файл логики.
Или ищи проблему в файлах логики...

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

DCM

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


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

1. Нумерация смарттерейнов.

А можно подробнее? Это файлы из misc?

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


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

AziatkaVictor Как осуществляете спавн?


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 через simulation. Я вообще никакие файлы не изменял, перекинул файлы, которые могут пригодится и все. В СДК и игре ничего не меня, просто пересобрал спавн, грубо говоря.


Дополнено 13 минуты спустя

Может можно как-то понять в чем проблема по логу? Или еще как-то? Просто трудно понять в чем проблема, когда ты ничего не делал...

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


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

AziatkaVictor Заполнением стартовых позиций в игре (конфиг misc\simulation.ltx) занимается функция из sim_board.script под именем sim_board:fill_start_position(). Первое, что я рекомендую делать, изменить функцию таким образом:

Спойлер

function sim_board:fill_start_position()
    if self.start_position_filled == true then
        return
    end
    self.start_position_filled = true
    for level in game_graph():levels() do
        local section_name = "start_position_" .. alife():level_name(level.id)
        if setting_ini:section_exist(section_name) then
            local n = setting_ini:line_count(section_name)
            if n~=0 then
                for i=0,n-1 do
                    local result, id, value    = setting_ini:r_line(section_name,i,"","")
                    local smrt_names = utils.parse_names(value)
                    for k,v in pairs(smrt_names) do
                        local smart = self.smarts_by_names[v]
                        if smart == nil then
                            abort("Wrong smart name [%s] in start position", tostring(v))
                        end
                        local squad = self:create_squad(smart, id)
                        self:enter_smart(squad, smart.id)
                    end
                end
            end
        end
    end
end

Если возникают какие либо неполадки с заполнением стартовых позиций, можно подробнейшим образом выводить в лог работу этой функции и анализировать неполадки с помощью этих сообщений.

 

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 не помогло, НПС перестали спавнится при смене спавна.

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


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

AziatkaVictor Логируйте работу функции и ищите в чем проблема.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 а можно попроще, я в скриптах полный ноль, не знаю, что куда писать(

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


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

AziatkaVictor Замените функцию такой конструкцией:

Спойлер

function sim_board:fill_start_position()
    if self.start_position_filled == true then
        return
    else
        init_log_file()
    end
    self.start_position_filled = true
    print_log("Начинаем заполнение стартовых позиций","sim_board")
    for level in game_graph():levels() do
        local section_name = "start_position_" .. alife():level_name(level.id)
        print_log("Локация "..alife():level_name(level.id),"sim_board")
        print_log("Секция из файла simulation.ltx "..section_name,"sim_board")
        if setting_ini:section_exist(section_name) then
            print_log("Секция существует","sim_board")
            local n = setting_ini:line_count(section_name)
            print_log("Секция содержит "..tostring(n).." записей","sim_board")
            if n~=0 then
                for i=0,n-1 do
                    local result, id, value    = setting_ini:r_line(section_name,i,"","")
                    local smrt_names = utils.parse_names(value)
                    print_log("Обработка "..tostring(i+1).." записи","sim_board")
                    for k,v in pairs(smrt_names) do
                        print_log("Заселение смарта "..v,"sim_board")
                        local smart = self.smarts_by_names[v]
                        if smart == nil then
                            print_log("Смарт "..v.." НЕ существует!","sim_board")
                        end
                        local squad = self:create_squad(smart, id)
                        print_log("Сквад "..id.." создан","sim_board")
                        self:enter_smart(squad, smart.id)
                        print_log("Сквад "..id.." помещен на смарт "..v,"sim_board")
                    end
                end
            end
        end
    end
end


function init_log_file()
    local file=io.open("gamedata//log_file.log","w")
    file:write("Start loggong on "..os.date(),"\n")
    file:close()
end

function print_log(save_string,script_name)
    if script_name == nil then script_name = "_g.script" end
    local file=io.open("gamedata//log_file.log","a")
    file:write(os.date().."|"..script_name.."|"..save_string,"\n")
    file:close()
end

Запустите игру, начните новую и выйдите из игры. В папке gamedata будет создан лог файл log_file.log, выложите его будем анализировать.

sim_board.script

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

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


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

AziatkaVictor Был вылет? Лог просто прервался на моменте спавна на смарте esc_smart_atp.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 нет, я закончил игру и всё. Не знаю, в чем дело. Вроде логика прописана, да нумерация нормальная...

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


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

AziatkaVictor Ну смотрите: спавн закончился на 4-й записи (из 17-ти)  из секции start_position_escape файла simulation.ltx. Это смарт esc_smart_atp. Возможно проблема со смартом или сквадом из этой записи, попробуйте эту запись для начала просто закоментировать. Если спавн пойдет далее, ищите проблему в этих двух объектах.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 ого, помогло! То есть, проблема либо в смарт-тиррейне, либо в скваде, да?

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


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

AziatkaVictor Если вы сквад не меняли, то проблема очевидно в смарте. Возможно он не на АИ-сетке оказался после декомпиляции (хотя эту проблему должен решать компилятор спавна и объекты привязанные к АИ-сетке должен на нее помещать во время компиляции выдавая сообщение об этом).

В любом случае проблема совсем рядом и до решения рукой подать.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Зачем нужны LOD текстуры на локации, если можно собрать локацию пропустив проверку наличия LOD текстур? Влияют ли LOD текстуры на качество текстуры в игре?

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


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

Зачем нужны LOD текстуры на локации

Некоторые статические объекты на локации, при удалении от них на значительное расстояние заменяются на одну из ЛОД-текстур для оптимизации, естественно при этом нет необходимости их полноценно рендерить, что и экономит ресурсы (Object Type: Multiple Usage обычно это деревья, кусты, трупы, транспорт). При наметанном взгляде вы можете разглядеть когда текстура с одним ракурсом подменяет другую или момент когда объект подменяется текстурой.

Подземные локации в принципе могут не содержать таких объектов, а значит и лод-текстур для них.

4 часа назад, Winzor сказал:

можно собрать локацию пропустив проверку наличия LOD текстур?

Мне не известно о такой возможности, просветите если знаете как.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Влияют ли LOD текстуры на качество текстуры в игре?

Это отдельная текстура, на основную она не влияет.

6 часов назад, Winzor сказал:

если можно собрать локацию пропустив проверку наличия LOD текстур?

Лучше всего сделать LOD-текстуры, либо убрать их в настройках материала. Но в любом случае, стоит помнить что это за игра, лучше немного посидеть и сделать LOD, чтобы было и качественно, и оптимизация не проседала.

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


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

Добро. Если в Actor editor открыть модель, скажем, ПМ, то модель уже будет с глушителем. Глушитель удаляется только через 3д-редактор или есть возможность прямо в СДК его убрать?

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


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

Добро. Если в Actor editor открыть модель, скажем, ПМ, то модель уже будет с глушителем. Глушитель удаляется только через 3д-редактор или есть возможность прямо в СДК его убрать?

Движок скрывает кость (глушитель) у  оружия до тех пор, пока её не нужно будет показать (нужно показать кость когда ГГ или НПС к ПМ прикрепил глушитель). При спавне этой модели если поставить галочку на кость (в данном случаем wpn_silencer), то в игре глушитель будет виден, а если не ставить галочку, то глушителя не будет видно.

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


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

Добро. Если в Actor editor открыть модель, скажем, ПМ, то модель уже будет с глушителем. Глушитель удаляется только через 3д-редактор или есть возможность прямо в СДК его убрать?

Всё гораздо проще, глушитель это не общая модель с пистолетом, он привязан через кость, достаточно в конфигах отключить установку глушителя, и независимо есть он на модели или нет, он не будет виден..

scope_status                        = 0                   ; 0 - Нет глушителя
silencer_status                     = 0                  ; 1 - Постоянный
grenade_launcher_status   = 0                   ; 2 - Сьёмный
 


DCM

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


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

У меня такой вопрос можно ли создать локацию в раз 10 больше затона с аи сеткой и как это сделать?

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


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

У меня такой вопрос можно ли создать локацию в раз 10 больше затона с аи сеткой и как это сделать?

Нет ничего проще: переписываете инструментарий (компиляторы, возможно SDK), переписываете движек под свои желания. И все у вас получиться.

  • Смех 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу