Malandrinus 623 Опубликовано 17 Января 2010 Writer, скриптом можно составить полный список вертексов. Как-то так: local gg = game_graph() local i = 0 while gg:valid_vertex_id(i) do local lvl = gg:vertex(i):level_id() -- здесь имеем номер вертекса i и номер его уровня lvl i = i + 1 end Ну а дальше дело техники. Здесь делается предположение, что валидные вертексы идут непрерывным списком и заканчиваются первым невалидным вертексом. Так ли всегда - точно не знаю, но скорее всего так. Как альтернативный вариант, можно разобрать game.graph и составить список вертексов заранее. Вроде как для этого даже есть готовый утиль. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 12 Февраля 2010 Спасибо! Опцию нашёл. Я просто обратил внимание, что от этой верхней сетки (её направления) зависит направление AI-сетки для НПС. Формат файла level.ai, в котором хранится сетка уровня, подразумевает, что она выровнена по координатам. Иначе быть просто не может. Если в двух словах, то там задаётся прямоугольный параллелелпипед (бокс), ограничивающий пространство сетки на уровне, задаётся шаг сетки по X и Z. Шаг по Y неявно определяется как высота бокса разделить на 65536. Само положение узла сетки задаётся как два целых числа: номер дискретного уровня по оси Y и упакованный номер ячейки на плоскости XZ. Т.е. на плоскости XZ ячейка сетки может быть только одним из элементов прямоугольной матрицы, строго ориентировнаной по осям X и Z. Вот что я не понимаю, это почему на картинке сетка не совпадает с осями координат? Или меня зрение подводит? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 18 Апреля 2010 DANTE 23, флажок у объекта "Used AI locations" Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 18 Апреля 2010 DANTE 23, Посмотри здесь или здесь на одной из иллюстраций видно этот флажок. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 18 Апреля 2010 (изменено) Kostya V, я просто знаю точно, что этот же флажок можно ставить скриптами. Его действие - привязка объекта при спавне к ближайшему левелвертексу. Если флажок установить, то предмет заспавнится строго на земле, если снять, то предмет заспавнится в воздухе, а потом только упадёт на землю. ЗЫ: хотя это сказывается уже на игре, а здесь надо привязку именно в редакторе, так что это наверное в самом деле не то, что нужно. Изменено 18 Апреля 2010 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 20 Сентября 2010 and_modern, есть неплохая сравнивалка текстовых файлов в Total Commander. Там же можно и объединять отличия. Но по проблеме должен заметить, что простого решения может и не быть. При разборе all.spawn при помощи acdc объекты перетасовываются, значения с плавающей запятой могут меняться в последних знаках, и всё это может сделать любые инструменты посимвольного сравнения попросту бесполезными. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 18 Января 2011 kenver, там вроде что-то надо в самой модели менять. Что именно - не знаю Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 11 Сентября 2011 Имеется задача такого плана. Есть готовая сингловая карта, с геометрией и сетками, а также аллспавн со всеми объектами. Хочется использовать редактор уровня для добавления предметов. Процесс представляется в следующем виде. - декомпилирую уровень - размещаю объекты на существующей сетке - собираю аллспавн, где имеются только добавленные объекты - разбираю его с помощью acdc - переношу в текстовом виде размещённые объекты в декомпилированный же мой, полный аллспавн - собираю мой полный аллспавн обратно уже с новыми объектами. Собственно вопрос. Реальна ли такая стратегия без перекомпиляции всего уровня каждый раз, как надо скомпилировать аллспавн? Если реально, то не подскажете ли последовательность утилит, которые надо для этого использовать. Смысл вопроса в том, что редактировать надо много и часто. Крайне важно избежать лишних действий. На мой взгляд, необходимым и достаточным является только компиляция аллспавна, посольку сетка и геометрия не меняются. Но возможно ли это, и что для этого надо сделать? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 11 Сентября 2011 Clayman, зачем тогда усложнять себе жизнь - разбирать-собирать аллспан, вносить вручную текстовые изменения если все это итак делает автоматом компилятор спавна. Потому что надо не делать уровень заново, а добавлять объекты на уже существующий и заселённый уровень. Но сейчас речь не об этом. Я правда не подскажу насчет СДК ТЧ (сам в ЗП работаю), нужно почитать инструкции по работе с компиляторами для ТЧ, но в ЗП это выглядит так: Мне как раз надо для ТЧ, а в SDK для ТЧ компилятора спавна нет (если я правильно понимаю). Поэтому и вопрос, какими утилитами и в какой последовательности можно достичь похожего результата. Мне хотя бы понять, какие утилиты использовать. Ещё раз, исходное состояние - в SDK для ТЧ есть разобранный уровень с сеткой. Надо сделать так, чтобы можно было пересобирать аллспавн и только его. Сетку же пересобирать не только не нужно, но и нельзя в принципе, поскольку при этом потеряется ей совместимость с уже существующими объектами. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 25 Сентября 2011 (изменено) Хочу сделать элемент худа светящимся. К примеру, хочу, чтобы светился болт в руке. Что делаю: 1. Перевожу конвертором файл wpn_bolt_hud.ogf в wpn_bolt_hud.object. 2. Открываю в Actor Editor. Нахожу поверхность wpn_bolt_S. Меняю шейдер этой поверхности с model\model на model\lightplanesself 3. Экспортирую обратно в *.ogf Имею такую картинку: Обратите внимание, болт светится, но сместился из своего положения в руке куда-то в сторону центра экрана. При движениях руки болт тоже движется, но всегда смещён таким вот образом. Собственно вопрос, как это исправить? Я перебрал несколько шейдеров, но выраженный эффект свечения есть только у model\lightplanesself. Кроме того, эффект смещения есть и у других шейдеров, но не у всех. Имеется также другой вопрос. Я попытался открыть редактор шейдеров. В SDK ТЧ не нашёл никакой разницы в параметрах шейдеров, которые дают такое смещение и тех, где этого нет. Более того, непонятно также и как там задаётся свечение. Там вообще почти никаких параметров нет. С другой стороны, открыл такой же редактор из SDK ЧН. Там параметров гораздо больше и в том числе видна галка "lighting", однако им не получается редактировать файл из ТЧ. Я что-то недопонял, или редактор шейдеров из SDK ТЧ на самом деле урезанный? И можно ли как-то редактировать эти шейдеры в ТЧ? Изменено 25 Сентября 2011 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 25 Сентября 2011 amik, Попробуй selflight. Пробовал, но он почему-то не даёт свечения. Я далеко не мастер в этом деле но, многие шейдеры берут свои дополнительные настройки из папки шейдеров геймдаты. Это для меня тёмный лес =( На gameru есть такой парень как cjayho. Он вроде бы шарит как и что... Спасибо, попробую спросить у него. abramcumner, Сравни оригинальную модель и после манипуляций. Возможно поменялись какие-то координаты при конвертировании и обратно. Ничего не поменялось. В самом SDK поверхность болта там, где и положено. Потом, эффект смещения зависит только от шейдера. Ставлю другой - возвращается на место. Кроме того, эффект возникает для любой другой поверхности. Болт - это был только для примера. В СДК ТЧ есть все, что работает в ТЧ. Просто в ЧН и далее добавились новые параметры. Выставив их в СДК ЧН, в ТЧ они не заработают Хорошо, ставлю вопрос иначе. Возьмём свечение, оно же точно есть в ТЧ? И как его в шейдере выставить? Вот скриншот из редактора шейдеров. Вот свойства того шейдера, что даёт тот эффект, что на скрине выше. Я там неточно написал. Я использовал не lightplanesself, а lightplanes. Но это ничего не меняет. Этот шейдер сделал болт светящимся, полупрозрачным и сместил его положение. Вот где здесь все эти настройки? Ведь шейдер то в игре работает, значит и настройки должны быть. Перебрал все галки здесь, ничего не изменилось, ни свечение, ни прозрачность, ни смещение. Ещё наблюдение. Смещение объекта имеет специфический характер. Изображение всегда смещается к центру экрана и в придачу уменьшается. Т.е. смещение всегда происходит как удаление по оси камеры наблюдателя. При виде от третьего лица тоже самое, смещение зависит от положения камеры. Если бы это был дефект модели, то от камеры бы он никак не зависел. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 623 Опубликовано 26 Сентября 2011 ЙоЖеГ, Ради теста присвоил болту шейдер selflight: ... Проблем не обнаружил. Странно, я пробовал ранее этот шейдер, но свечения не получил. Хочу убедиться, что делаю всё верно: сконвертировал wpn_bolt_hud.ogf в *.model, загрузил в Actor Editor, там выбрал поверхность wpn_bolt_S, изменил параметр Shader на model\selflight, экспортировал модель в *.ogf. Больше ничего не трогал. Всё правильно делаю? Вот скрин из Actor Editor: Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение