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

[SoC] Вопросы по SDK


faniloko

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

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

 

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


Ссылка на сообщение
Спасибо! Опцию нашёл. Я просто обратил внимание, что от этой верхней сетки (её направления) зависит направление AI-сетки для НПС.

Формат файла level.ai, в котором хранится сетка уровня, подразумевает, что она выровнена по координатам. Иначе быть просто не может. Если в двух словах, то там задаётся прямоугольный параллелелпипед (бокс), ограничивающий пространство сетки на уровне, задаётся шаг сетки по X и Z. Шаг по Y неявно определяется как высота бокса разделить на 65536. Само положение узла сетки задаётся как два целых числа: номер дискретного уровня по оси Y и упакованный номер ячейки на плоскости XZ.

Т.е. на плоскости XZ ячейка сетки может быть только одним из элементов прямоугольной матрицы, строго ориентировнаной по осям X и Z.

 

Вот что я не понимаю, это почему на картинке сетка не совпадает с осями координат? Или меня зрение подводит?

сетка2.jpeg

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

DANTE 23,

флажок у объекта "Used AI locations"

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

DANTE 23,

Посмотри здесь

или здесь

на одной из иллюстраций видно этот флажок.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

Kostya V,

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

 

ЗЫ: хотя это сказывается уже на игре, а здесь надо привязку именно в редакторе, так что это наверное в самом деле не то, что нужно.

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

and_modern,

есть неплохая сравнивалка текстовых файлов в Total Commander. Там же можно и объединять отличия.

 

Но по проблеме должен заметить, что простого решения может и не быть. При разборе all.spawn при помощи acdc объекты перетасовываются, значения с плавающей запятой могут меняться в последних знаках, и всё это может сделать любые инструменты посимвольного сравнения попросту бесполезными.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

kenver,

там вроде что-то надо в самой модели менять. Что именно - не знаю

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

Имеется задача такого плана. Есть готовая сингловая карта, с геометрией и сетками, а также аллспавн со всеми объектами. Хочется использовать редактор уровня для добавления предметов. Процесс представляется в следующем виде.

- декомпилирую уровень

- размещаю объекты на существующей сетке

- собираю аллспавн, где имеются только добавленные объекты

- разбираю его с помощью acdc

- переношу в текстовом виде размещённые объекты в декомпилированный же мой, полный аллспавн

- собираю мой полный аллспавн обратно уже с новыми объектами.

 

Собственно вопрос. Реальна ли такая стратегия без перекомпиляции всего уровня каждый раз, как надо скомпилировать аллспавн? Если реально, то не подскажете ли последовательность утилит, которые надо для этого использовать. Смысл вопроса в том, что редактировать надо много и часто. Крайне важно избежать лишних действий. На мой взгляд, необходимым и достаточным является только компиляция аллспавна, посольку сетка и геометрия не меняются. Но возможно ли это, и что для этого надо сделать?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

Clayman,

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

Потому что надо не делать уровень заново, а добавлять объекты на уже существующий и заселённый уровень. Но сейчас речь не об этом.

 

Я правда не подскажу насчет СДК ТЧ (сам в ЗП работаю), нужно почитать инструкции по работе с компиляторами для ТЧ, но в ЗП это выглядит так:

Мне как раз надо для ТЧ, а в SDK для ТЧ компилятора спавна нет (если я правильно понимаю). Поэтому и вопрос, какими утилитами и в какой последовательности можно достичь похожего результата. Мне хотя бы понять, какие утилиты использовать.

 

Ещё раз, исходное состояние - в SDK для ТЧ есть разобранный уровень с сеткой. Надо сделать так, чтобы можно было пересобирать аллспавн и только его. Сетку же пересобирать не только не нужно, но и нельзя в принципе, поскольку при этом потеряется ей совместимость с уже существующими объектами.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

Хочу сделать элемент худа светящимся. К примеру, хочу, чтобы светился болт в руке. Что делаю:

1. Перевожу конвертором файл wpn_bolt_hud.ogf в wpn_bolt_hud.object.

2. Открываю в Actor Editor. Нахожу поверхность wpn_bolt_S. Меняю шейдер этой поверхности с model\model на model\lightplanesself

3. Экспортирую обратно в *.ogf

 

Имею такую картинку:

2LyW2emB.jpg

 

Обратите внимание, болт светится, но сместился из своего положения в руке куда-то в сторону центра экрана. При движениях руки болт тоже движется, но всегда смещён таким вот образом.

 

Собственно вопрос, как это исправить?

 

Я перебрал несколько шейдеров, но выраженный эффект свечения есть только у model\lightplanesself. Кроме того, эффект смещения есть и у других шейдеров, но не у всех.

 

Имеется также другой вопрос. Я попытался открыть редактор шейдеров. В SDK ТЧ не нашёл никакой разницы в параметрах шейдеров, которые дают такое смещение и тех, где этого нет. Более того, непонятно также и как там задаётся свечение. Там вообще почти никаких параметров нет. С другой стороны, открыл такой же редактор из SDK ЧН. Там параметров гораздо больше и в том числе видна галка "lighting", однако им не получается редактировать файл из ТЧ.

Я что-то недопонял, или редактор шейдеров из SDK ТЧ на самом деле урезанный? И можно ли как-то редактировать эти шейдеры в ТЧ?

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

amik,

Попробуй selflight.

Пробовал, но он почему-то не даёт свечения.

 

Я далеко не мастер в этом деле но, многие шейдеры берут свои дополнительные настройки из папки шейдеров геймдаты.

Это для меня тёмный лес =(

 

На gameru есть такой парень как cjayho. Он вроде бы шарит как и что...

Спасибо, попробую спросить у него.

 

abramcumner,

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

Ничего не поменялось. В самом SDK поверхность болта там, где и положено. Потом, эффект смещения зависит только от шейдера. Ставлю другой - возвращается на место. Кроме того, эффект возникает для любой другой поверхности. Болт - это был только для примера.

 

В СДК ТЧ есть все, что работает в ТЧ. Просто в ЧН и далее добавились новые параметры. Выставив их в СДК ЧН, в ТЧ они не заработают

Хорошо, ставлю вопрос иначе. Возьмём свечение, оно же точно есть в ТЧ? И как его в шейдере выставить? Вот скриншот из редактора шейдеров.

sM20Nb2M.png

 

Вот свойства того шейдера, что даёт тот эффект, что на скрине выше. Я там неточно написал. Я использовал не lightplanesself, а lightplanes. Но это ничего не меняет. Этот шейдер сделал болт светящимся, полупрозрачным и сместил его положение. Вот где здесь все эти настройки? Ведь шейдер то в игре работает, значит и настройки должны быть. Перебрал все галки здесь, ничего не изменилось, ни свечение, ни прозрачность, ни смещение.

 

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


Ссылка на сообщение

ЙоЖеГ,

Ради теста присвоил болту шейдер selflight:

...

Проблем не обнаружил.

Странно, я пробовал ранее этот шейдер, но свечения не получил. Хочу убедиться, что делаю всё верно: сконвертировал wpn_bolt_hud.ogf в *.model, загрузил в Actor Editor, там выбрал поверхность wpn_bolt_S, изменил параметр Shader на model\selflight, экспортировал модель в *.ogf. Больше ничего не трогал.

 

Всё правильно делаю? Вот скрин из Actor Editor:

6bBACmSJ.png

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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


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

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