Все посты %s в %S - AMK Team
Перейти к контенту

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


faniloko

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

Вопрос по поводу освещения на Р1.

После компиляции локации, освещение на статике пропало. Света от лампочек нет вообще, хотя в СДК все имеется.

Также на локации имеется лампочка с пысовскими параметрами, которая висит в воздухе (не в геометрии). Она единственная, которая работает после компиляции.

Между моей и пыс лампочкой - отличается только значение параметра Linear (у моей 0.8, у пыс 1.0) и расположение.

Также есть подозрения на то, что сам источник света находится в геометрии (в модели лампочки). В финалке, пыс делали центр источника около лампочки, а не в ней... Но в билдовской локации, которую я декомпилил источник находится именно внутри (и собственно в билде освещение работало). Так вот, никто не знает как заставить лампочку светить?

Заранее спасибо.

 

З.Ы. сама модель лампочки вшита в остальную часть модели (например в стену). Т.е. идет одной моделью.

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

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


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

Ещё вылазит вот такое окошко при ошибках, можно убрать перезапустив проводник в диспетчере задач

Такая хрень у меня и на семерке недавно вылезла и зависла. Вроде, при работе со студией появилась.

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


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

@EGER.OVERKILL WF подставь эффектор от Агропрома:

cam_effector = agroprom_demo

Если заработает, значит дело в файле.

 

Секцию [nil] указывать кстати необязательно.

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


Ссылка на сообщение
23.06.2023 в 18:12, EGER.OVERKILL WF сказал:

К сожалению, не заработало. 

Если не сработал оригинальный облет камеры при эквивалентной логике, значит что-то сломано в скриптах. Сбегай на Агропром, проверь как там работает, чтобы уже точно знать.

А вообще, смотри схему sr_cutscene.script. Для ее работы все рестрикторы с логикой должны быть зарегистрированы в таблице, после чего они обновляются из биндера актора. Возможно в bind_stalker.script выпилен вызов bind_restrictor.actor_update(delta), не знаю, тут гадание на кофейной гуще.

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

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


Ссылка на сообщение
01.07.2023 в 12:45, EGER.OVERKILL WF сказал:

Или просто сравнить в тотал-командоре с оригиналом, и так найти, какого узла не хватает ?

Ну да, посмотреть указанные скрипты на изменения. И вообще скрипты, может есть что-то подозрительное. Если изменений нет, тогда не знаю почему не работает.
Может глупая ошибка какая-нибудь - забыли собрать спавн, собрали, а он не собрался, не положили в папку и т.д. Или инфо esc_novice_ex4r_sr не выдается. Просто так оно не может не работать.

 

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

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

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


Ссылка на сообщение
4 часа назад, EGER.OVERKILL WF сказал:

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

 

on_actor_inside = {+esc_novice_ex4r_sr} sr_cutscene %+kura2%

"Если актор внутри зоны и если получено инфо esc_novice_ex4r_sr, то переходим в секцию логики sr_cutscene и выдаем инфо kura2". Изучи синтаксис логики.

Изменено пользователем RayTwitty
  • Согласен 1
  • Полезно 2

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


Ссылка на сообщение
9 часов назад, EGER.OVERKILL WF сказал:

Спасибо, я действительно многого не знаю. 

Там на самом деле все просто - есть блоки условия { ... }, есть блоки действия % ... %. В них участвуют инфопоршены и вызовы lua-функций. В остальных случаях переходы между секциями схем. Основные события перечислены в xr_logic.script, по типу on_actor_inside, другие параметры может добавлять каждая отдельная схема. Событие on_info по сути является апдейтом в скрипте, поэтому в нем можно проверять вообще что угодно, хотя название может вводить в заблуждение, я сперва думал что оно обрабатывается только при получении объектом/актором инфопоршена.

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


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

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

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


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

Вопрос по поводу профилей в converter.exe (https://github.com/abramcumner/xray_re-tools и другие форки).

 

Файл converter.ini, в нем куча профилей для различных версий игры включая билды. Для чего нужны эти профили? Отладочная штука? Очень давно, когда настраивал конвертер (еще в 2012 году), менял абсолютные пути в секции 2947_config до СДК-ашных, сейчас задался вопросом - а нужно ли, если мы итак указываем путь $sdk_root$ в fsconverter.ltx? Использую конвертер только для финалки ТЧ (СДК 0.4).

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


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

@WolfHeart я так понял, что ключ (пример)

Цитата

converter -level 1844:military_game -out military_game -mode le

как раз таки задает использование нужного профиля

Цитата

1844 = 1844_config

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

 

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

 

Если ключ (профиль) в команде не задан, то используется default (default = 2947_config). В этой секции указаны только абсолютные пути до ресурсов и версия спавна.

 

P.S. Так как в большинстве случаев конвертер используется просто для ТЧ-ЧН-ЗП СДК, я бы наверное где-то хардкодом прописал, что если для default явно не указаны пути, то использовать путь из $sdk_root$ (из него можно получить $game_data$ и $game_levels$). И получится, что в секции default нужно будет указать только версию спавна (по умолчанию например ТЧ).

 

P.S2. Там есть также секция sdks, назначение которой пока неизвестно.

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


Ссылка на сообщение
23 минуты назад, WolfHeart сказал:

Да и смысл? Как по мне, проще прописать путь в converter.ini

Подумалось, чтобы сократить количество телодвижений при интеграции и установке конвертера. В обычном случае: задать путь до СДК в fsconverter.ltx и поменять (при необходимости) версию спавна декомпилируемого уровня. Хотя, возможно автор изначально при разработке думал о бОльшей автономности проги от СДК. Немного разные подходы.

 

В идеале для дефолтной декомпиляции вообще отказаться от профилей - брать пути из $sdk_root$, а версию спавна задавать отдельным ключом прямо в команде (по дефолту оставить ТЧ, как младшую релизную версию).
Там для ЧН\ЗП есть дополнительные настройки по материалам, не получится...

 

Наверно да, не стоит свеч.

  • Согласен 1

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


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

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