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

X-Ray SDK 0.4 от Yara

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

 

X-Ray SDK-0.4 от Yara

spacer.png


X-Ray SDK от Yara.

Это собранный из исходников SDK-0.4, в котором имеются десятки исправлений и улучшений.


 

Спойлер

Для всех редакторов включена поддержка LARGEADDRESSAWARE

\editors\name_editor\name_editor.bpr, ... LFLAGS ... -GF:LARGEADDRESSAWARE


  • Исправлены диалоговые окна в редакторах под win7 / win10
  • Поправлен экспорт DM (AE)
  • При экспорте дописывать в лог имя модели / анимации (AE)
  • Отключение оптимизации скелетных мешей (AE)
  • Теперь при изменении параметров костей обновляются только свойства, список не обновляется, дабы не сворачивались кости ниже выделенной (AE)
  • Загрузка / сохранение списка костей в bone parts (AE)
  • Поддержка drag'n'drop в АЕ
  • Флаг force 16bit motion (editor preferences > tools > motion export)
  • Не переименовать звуки в ~name.ogg при синхронизации
  • fixed image editor
  • Писать имя surface в лог, если назначены несовместимые шейдеры
  • Сохранять build_details.dds как DXT3
  • Увеличение максимального размера build_details.dds до 4096x4096
  • Увеличение максимального размера level_lods.dds до 4096x4096
  • Исправлена ошибка, если выбрать <none> при выборе группы
  • THM для групп теперь сохраняются в папку groups, а не в objects
  • Замена простого сообщения в лог на окошко с ошибкой, при попытке добавить неправильный детальный объект
  • Возможность регулировать дисперсию солнца в настройках сцены, чтобы заработали мягкие тени
  • Сверх качество хемисферы в настройках сцены (hemisphere quality: 4)
  • Правка ошибки при нажатии на пустоту в режиме Attach Object
  • Защита от пустых параметров $spawn, они иногда могут привести к ошибкам
  • Показывать имя файла объекта в сообщении, если тот не найден
  • Число одновременно добавляемых объектов (до 1024, в списках, где надо ставить галки) для детальных объектов в object list - 100
  • Снятние ограничени на количество валлмарков
  • Текстовый редактор для снап-листа
  • Не очищать snap list при выполнении Clear AI Map
  • Отдельная кнопка для экспорта level.snd_env
  • Форму со списком детальных объектов теперь можно растягивать в ширину, также можно регулировать ширину левой и правой её части.
  • Высота элементов из списка регулируется колёсиком мышки.
  • Сообщение вместо окна с ошибкой, при отсутствующем ANM в поле Motion (zones, heli)
  • Окно с ошибкой при неверной спаун-секции
  • LE при построении уровня (Compile->Build) не удаляет маленькие полигоны
  • Отключение оптимизации объектов при загрузке
  • Теперь масштаб объекта учитывается при проверке invalid faces
  • Увеличена точность позиционирования объектов до 4 знаков после запятой. (AE, LE)
  • Правка генератора разбиваемых стёкол
  • Автофокусировка на некоторые окошки со списками
  • Раскрывать весь свиток (список костей и т.п.) по клику с зажатой клавишей ctrl
  • Правка ошибки в случае установки в ноль количества запоминаемых последних файлов (recent count)
  • В режиме вращение объектов добавлено фиксированное вращение (90 градусов) с зажатым ctrl
  • Сохранение вращения при перемещении объекта с привязкой Normal Aligment (from cop src)
  • Убраны сообщения, типа Please notify AlexMX...
  • Увеличен лимит по скорости (до 1000) в редакторах
  • Увеличен лимит pixel per meter (до 100) в настройках сцены
  • Не выводить окошко с подтверждением после создания sky small
  • Cохранять параметр Depth Tolerance (box pick in LE settings)
  • Флажок вкл / выкл для отрисовки нод при генерации ИИ-сетки (при выкл, процесс идёт быстрей) (у себя ускорения не заметил)
  • Продолжать проигрывать анимацию частиц после изменения параметров, если была нажата кнопка Play (PE)
  • Более позиция выделения в Object List не сбрасывается (LE)
  • Разблокирована опция hemisphere control (по-умолчанию всегда hemi) (для ценителей статики)

Добавлены ключи для запуска редакторов:

-no_warn_fv
(отключает сообщения в логе: CSceneObject: 'file_name' different file version!)

-no_warn_ft
(отключает сообщения в логе: Can't find texture 'texture_name')


Спойлер

Установить оригинальный сдк 0.4 -> из архива скопировать папку bins и батники для запуска, в папку сдк (\level_editor)

Скачать:

Google Drive

Или

BitBucket


Дополнительно:

Спойлер

В xrAI увеличено количество проц.потоков при компиляции аи-сетки с 3 до 8.


Ключи:

"-? or -h                == this help \n"
"-draft -f <level_name>  == fast compile AI-map without covers \n"
"-verify <level_name>    == verify AI-map \n"
"-f <level_name>         == compile AI-map with covers in gamedata/levels/<level_name>/ \n"
"-g <level_name>         == build offline AI graph and cross-table to AI-map in gamedata/levels/<level_name>/ \n"
"-m (-m <level_name>)    == merge level graphs \n"
"-s (-s <level_name>)    == build game spawn data \n"
"-no_separator_check     == skip check grid overlapping with restrictor shapes \n"
"-silent                 == suppress congratulation message \n"
"\n"
     "NOTE: Последний ключ необходим для любой функциональности\n";


Ссылка: XrAI от Yara.rar


Спойлер

 

Ещё есть дополнение, добавляющее обработку сглаживания при билде лок: Ссылка на ориг. пост на gameru.net

Это опционально, и требует нек.обработки тч-геометрии в 3д редакторе.

 


Спойлер

hi_flyer:

Собрал свой вариант х64 (ТЧ) компиляторов xrLC и xrDO.
xrDO использует до 8 потоков, xrLC до 11 потоков на стадии просчета лайтмапов, на процессорах с количеством потоков < 11 может работать медленнее.
Также в наличии для xrLC новые ключи на отключение просчета лайтмапа террейна, источников света hemi и sun
Если кому интересно, результаты тестов, в том числе в сравнении с другими компиляторами приветствуются.


macron:

Небольшое обновление х64 (ТЧ) компиляторов:
-добавлена инструкция.
-xrLC: исправлен двойной вывод ошибок о ненайденных файлах в лог. Ошибки выделяются пустыми строчками.


Ссылка: compiler_flyer64_updated_v1.7z


Спойлер

converter_0.2.1 от abramcumner

Ссылка: abramcumner / xray_re-tools


Архив обновлен!

(11.09.2022)

Ссылки те же.

Из СДК было выпилино древнее барахло, теперь можно использовать компилятор от SkyLoader.


 

Изменено пользователем WolfHeart
  • Лайк 9
  • Мастер! 1
  • Хабар 1
  • Спасибо 3

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

imcrazyhoudini Могу только предположить, так как SDK ТЧ я пользуюсь крайне редко.

1 час назад, imcrazyhoudini сказал:

ну смотри, тот лог в сдк яра появляется как я открываю его

нажимаю продолжить - всё нормально

Возможно в СДК Яра есть правка этого вылета.

У меня в СДК-07 если попадается кривая ТНМ, СДК вылетает сразу при запуске. Как это в СДК ТЧ... Не припомню, вроде не сталкивался в нем с этой ошибкой, ну да и пользуюсь я ТЧ СДК крайне редко.

1 час назад, imcrazyhoudini сказал:

если чистый сдк, то ошибка не появляется

Значит в чистом этой  ТНМ-ки нет.


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

P.S. В СДК ТЧ-дефолтном, ТНМ вроде как не обязательны, их функцию выполняет textures.ltx.

А вот что из них в приоритете и как это в СДК Яра, я не в курсе.


Дополнено 44 минуты спустя
1 час назад, imcrazyhoudini сказал:

каждую тхм перепроверять самому?..

Если бы это было так, то тогда зачем нужны эти "приблуды"? Перепроверять каждую текстуру можно и без них.
Логично? 😀

2 часа назад, WolfHeart сказал:

AXRToolset - позволяет проверить на валидность текстуры и исправить их. Есть редактор THM.

Это означает, что утелита, проверяет ТHM файлы на соответствие их текстурам и при обнаружении "кривой" исправляет ее. И все это делается в режиме пакетной обработки, то есть проверяется и справляется вся папка textures.

Вот смотри: Видео

2 часа назад, WolfHeart сказал:

THM Editor - то-же самое + генерация новых ТНМ.

THM Editor может то-же самое, но еще может и генерировать новые THM. То-есть, можешь удалить все свои THM, он сгенерирует новые, да-же для тех, у которых THM не было.

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

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

imcrazyhoudini 

По ошибке, ну как я понял из движка, возникает при неудачном чтении данных из загружаемого файла, и это может тшм, файлы уровня в levels, впрочем, всё что грузится в сдк / игре. Если возникает при открытии уровня, в логе можно посмотреть на какой стадии, к примеру: Loading Spawn... - возможно битая модель, хексом менялись шейдеры или ещё чего.

Чтобы в логе выводились отсутствующие текстуры, нужно запускать с ключом -dbg_log. В архиве с этим сдк есть файл: xray_sdk_soc_fixed_smg.txt, там всё подробно описано.

В 05.10.2022 в 22:44, WolfHeart сказал:

P.S. В СДК ТЧ-дефолтном, ТНМ вроде как не обязательны, их функцию выполняет textures.ltx.

Для сдк только тшм, textures.ltx в нём не используется для определения, что за текстура и какой ей назначен бамп, но файл читается / заполняется при использовании Image Editor, приблуда чисто для игры в ТЧ.

 

  • Мастер! 1

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


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

Yara ну у меня при открытии самого сдк возникает, и искать причину это конечно жёстко, проще забить

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


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

Руководствуйтесь простым правилом - не кидайте кал в сдк. 99%, такая ошибка из-за кривой тхм текстуры. Текстуры в сдк надо забрасывать через импорт в тга формате, чтобы не было таких проблем. Ну или из ооочень проверенного источника. А если закидываешь какой-то уровень от васяна228 с новыми текстурами, то есть огромная вероятность, что у текстур либо вовсе не будет тхм, либо они будут сделаны через очко. Потом вычленять эту текстуру очень запарно, ибо не все сдк умеют в логирование проблемной тхм. Держите все в чистоте так сказать.

 

 

 

 

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


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

Приветствую. Не компилируется трава на (сорян за тавтологию) компиляторах от SkyLoader 1.4a, последнюю версию СДК отсюда перекачивал, бесполезно. Лог в спойлере.
 

Спойлер

Starting Level compiler v1.4a
Initializing task sheduler...
Task sheduler initialized with 3 threads and 1 task groups
Final core params: -details -f l01_escape -version shoc -skipthm

Startup time: 20:43:08, date: 25.1.2023
 
* New phase started: Reading project [l01_escape]...
* Phase ended: Reading project [l01_escape]... - 00:00:00
 
* New phase started: Loading level...
    | Loading CFORM...
    |    | Building rcast model...
    |    | * Level CFORM: 421214K
    | Loading lights...
    |    | lights file version: 1
    | Loading project...
    |    | file version: 17
    |    | *        materials: 648
stack trace:

0033:0000000057503B19 KERNELBASE.dll, RaiseException()
0033:0000000034FE4671 VCRUNTIME140.dll, is_exception_typeof()
0033:0000000059921446 ntdll.dll, RtlCaptureContext()
0033:00000000E4788E6C xrCompiler_Light.dll, xrLC_GlobalData::operator=()
0033:00000000E47B3F74 xrCompiler_Light.dll, xrCompileDO()
0033:00000000E47B1097 xrCompiler_Light.dll, xrCompileDO()
 
[error][       6]    : Неверный дескриптор.

 

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

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


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

    |    | file version: 17
    |    | *        materials: 648
stack trace:

Проверил  версию 1.4a, работает:

|    | file version: 17
    |    | *        materials: 282
    |    | *     shaders_xrlc: 10
    | Processing textures...
    |    | * Loading thm file: glow\glow_04.thm

Вылет при загрузки shaders_xrlc.xr, но может причина в другом. Можно сбилдить уровень в ориг.сдк для проверки.

  • Спасибо 1

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


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

Появилось несколько вопросов по проекту.

1) На каком-то этапе разработка пошла в отдельную ветку - SMG. Для чего это было сделано и в чем отличие от первоначальной задумки? Для понимания идеи.
Могу предположить, SMG - Smooth GroupS. Если эта ветка стала основной, может избавиться от приписки в названиях редакторов?

2) Если я не ошибаюсь, прообразом проекта был СДК от YURSHAT. В нем было совсем немного правок, однако была зачем-то сделана правка на тему сохранения thm, подробности: https://www.gameru.net/forum/index.php?s=&showtopic=59990&view=findpost&p=1534581
Из-за чего возникала путаница и приходилось дополнительно заниматься ресурсами для работы с новым СДК. В текущем проекте этот момент не менялся? В ченжлоге есть несколько изменений на эту тему, поэтому уточняю.

3) Судя по изменениям, в СДК переделан механизм сглаживания на манер ЗП? Теперь, чтобы корректно сбилдить уровень с ТЧ моделями и получить результат, как в оригинальном СДК нужно прописывать ключ -nosmg для LE? А почему бы не пойти от противного и не сохранить по умолчанию оригинальное поведение, а уже поддержку групп сглаживания включать отдельно? Я бы вообще сделал в опциях сцены флажок "Use model smooth" рядом со "Normal smooth angle", а не отдельным ключом. По умолчанию "Use model smooth" выключен (тем самым сохраняя поведение ТЧ), при включении приоритетом используются группы из модели, если их нет, то фиксированный угол из следующего параметра.

4) "обработка сглаживания при конвертации в OGF (как в ЗП)" - можно поподробнее? Изменен формат моделей на выходе? ТЧ движок будет корректно отображать?

5) "Отключение оптимизации скелетных мешей (AE)" - речь о флажке HQ Geometry? Как я понял, он теперь включен всегда и самого флажка в АЕ нету?

5.1) https://ap-pro.ru/forums/topic/3577-object-editor-v395/
Кстати вот тут пишут, что HQ Geometry в ЗП был не совсем HQ и по прежнему что-то оптимизировал.

6) "LE при построении уровня (Compile->Build) не удаляет маленькие полигоны" это как я понимаю мой фикс инвалид фейсов?

Цитата

Суть правки:
editors\LevelEditor\Edit\BuilderRemote.cpp
if (!_valid(_a) || (_a<EPS)){
меняем на
if (!_valid(_a) || (_a<EPS_S)){

Где-то видел более улучшенную версию фикса, возможно в репо "борща".

7) "В настройки сцены добавлены параметры, которые были в старых сдк" это из того треда на ГМ, где обсуждалось размытие теней на статике? Что-то вроде запекаемого аналога Percentage-Closer Soft Shadows?

7.1) В последнем апдейте эта фича с тенями убрана или я неправильно понял? У меня в LE я их не наблюдаю.
"Убраны новые (старые) параметры в настройках сцены: Hemisphere energy coeff и Jitter distortion"
Почему?

8) "В шейдеры компиляции, добавлен флаг Tessellate" в описании не указано, для чего это нужно. Если не использовать эту фичу и оставить оригинальное поведение, нужно ли что-то менять в ресурсах СДК?

9) Прошелся по списку старых фиксов отсюда
https://www.gameru.net/forum/index.php?showtopic=46774
Вроде бы все есть, только уточню - правки компилятора геометрии "xrLC: Фикс вылета при инвалид фейсах + качественные лайтмапы" перенесены из репо abramcumner с ключами (соответственно) - skip_inv_face и lmap_rgba? Второй ключ не указан в xrLC_help.txt.

----------------------------------

Из того, что еще бы хотелось:

Кубические env_mod. Сферой очень неудобно и коряво заполнять прямоугольные помещения.
Правка уже готова, вот исходники:
1) https://bitbucket.org/stalker/xray-csky_borscht_sdk/commits/a7ef26b9f2a713c8b890fd8f002222283f723433
2) https://bitbucket.org/stalker/xray-csky_borscht_sdk/commits/472ee56b8f26533d891fe576f9d13065daee505d
3) вроде тоже сюда https://bitbucket.org/stalker/xray-csky_borscht_sdk/commits/62bcd5ff7a7159cb0c873e991eef09046371eeb9
как я понял переделали куб в параллелепипед, правда только для движка. На первый взгляд непонятно, где это можно применить, разве что под крышей какой-нибудь.
4) правка выделения шейпа env_mod https://bitbucket.org/stalker/xray-csky_borscht_sdk/commits/15e41760f222177c44ac6f35fab763e791338413
Искал по коммитам "env", может еще какие правки вносились, мной незамеченные.

А также кнопки видимости типов объектов из ЗП СДК. К примеру хотим скрыть все Spawn Element, сейчас надо нажимать Visibility -> Hide All. В ЗП это делается одной кнопкой (с текстурой глаза) слева от типа элемента.

P.S. Изменения за 11.09.2022 никак не отражены в репозитории, однако есть в релизах.

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

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


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

RayTwitty 

несколько ответов, часть от нейросети XrayChat (шутка)

1) Изначально было целью перенести обработку сглаживания из ЗП (ну и фикс бага в обжект лист), долго не получалось, в промежутках были добавлены другие правки. Поэтому есть старая версия без оного, но как только получилось перенести главное, стало SMG и сосредоточился на ней.

2) Нет, с thm как в оригинале, создаётся в равдате.

3) А зачем лишняя возня, когда есть ключ для xrLC? Эту штуку надо было разрабам вообще вырезать, в 3-д редакторе моделируется что-то, сглаживается и прочее. А это какой-то хак, чтобы потом было неправильное освещение полигонов.

4) Формат не менялся, с динамикой такая же хрень была, при экспорте всё сглаживается с углом 89. Теперь как сделаешь в 3-д редакторе, так и будет. Есть скрин с примером:
https://www.gameru.net/forum/index.php?s=&showtopic=59990&view=findpost&p=1699318

5 / 5.1) Да, и пример с той правкой для ЗП LE (+ xrLC) + HQ для динамики:
телефон как статика и дин. банка с карандашами (такие мелкие полики удалились бы)

hq-geom-sdk.jpghq-geom.jpg

6) Правка оттуда.

7 / 7.1) Да, Sun dispersion, остальные убраны для поддержки этого: https://ap-pro.ru/forums/topic/3341-universalnye-kompilyatory-urovney-h64/

😎 Тут: https://www.gameru.net/forum/index.php?s=&showtopic=59990&view=findpost&p=1697705

9) Раз при сжатии лайтмапов появляются разноцветные артефакты, которые слишком заметны в игре, они теперь всегда в rgba.

----------------------------------

Всё это видел, и переносил, ну не заработало (пока дал проблеме отлежаться). В СИ как начинающий моддер, знаю где переносимый вес править :classic_biggrin:

Как будет время, попробую опять.

Тот репо устарел, делаю всё на локальном, где сразу игра + сдк.

  • Жму руку 1

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


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

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

"Для LE сделано сохранение групп сглаживания при билде карты. Чтобы получить норм. сглаживание, нужно использовать объекты с типом сглаживания ЧН / ЗП (задаётся в плагине для майки при экспорте), иначе будут проблемы с освещением полигонов (или использовать ключ -nosmg, чтобы включить ТЧ-вариант)."

Я просто изначально подумал, читая ченжлог, что ключ -nosmg надо прописывать для СДК, а не для компилятора. Тогда вопрос снимается. При экспорте объектов со сглаживанием из LE, дефолтный (старый) компилятор просто проигнорит кастомное сглаживание и сделает как указано в настройках сцены. Собственно как и было всегда. А при использовании новых компиляторов нужно заюзать ключ -nosmg, если у нас старые модели без сглаживания. Если не прав, поправьте.

19 часов назад, Yara сказал:

остальные убраны

Насколько я понял, они к этому отношение не имеют, а эффект мягких теней достигается только одним параметром дисперсии?
2bca9959c9.jpg

19 часов назад, Yara сказал:

Раз при сжатии лайтмапов появляются разноцветные артефакты, которые слишком заметны в игре, они теперь всегда в rgba.

Значит флаг lmap_rgba указывать не нужно и формат включен по умолчанию?

19 часов назад, Yara сказал:

8) Тут

Я так понимаю, это тоже функция нового компилятора (из ЗП?). При использовании старых компиляторов флажок будет просто проигнорирован?..

P.S. Лучше один раз спросить, чем десять раз скомпилить :classic_smile:

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

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


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

В архиве с сдк есть xray_sdk_soc_fixed_smg.txt, там в самом начале заметки по сглаживанию, ключу и компиляторам.

19 часов назад, RayTwitty сказал:

Насколько я понял, они к этому отношение не имеют, а эффект мягких теней достигается только одним параметром дисперсии?

Ещё Jitter distortion, на скринах это заметно (особенно который с лампой).

https://www.gameru.net/forum/index.php?s=&showtopic=59990&view=findpost&p=1697705

 

Ключ lmap_rgba вырезан, все доступные указаны в xrLC_help.

С флагом Tessellate в шейдерах всё верно.

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


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

Ещё Jitter distortion, на скринах это заметно (особенно который с лампой).

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

1 час назад, Yara сказал:

Ключ lmap_rgba вырезан, все доступные указаны в xrLC_help.

Хорошо, тогда что называется для закрепления.
Требуется скомпилить наземный уровень ТЧ без новых фич из ЗП (кастомного сглаживания и тесселяции), но при этом качественными текстурами лайтмап (RGBA) и сохранением маленьких полигонов.
В этом случае, при использовании компилятора входящего в комплект поставки, заданная команда должна выглядеть так:

@start bins\compiler_smg\xrLC.exe -nosmg -skip_aht_tess -skip_optimize -f level_name

?

P.S. "В левел_эдиторе исправлен баг с выделением статичных звуков / групп (через zoom extent select)"
У меня по прежнему саунд сорсы при нажатии на эту кнопку выделяются неправильно - камера улетает за два километра. Не знаю, что конкретно тут поправили, но я ожидал что камера не будет учитывать радиус звука (который в 99% случаев оставляют на дефолте - 300 метров), а будет подлетать к центру, где он расположен.

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

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


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

RayTwitty 

С командами - верно.

С тем выделением был вылет. От размера шейпа объекта зависит, как далеко улетит камера, и так всегда было.

  • Мастер! 1

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


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

Yara я так понимаю, основные изменения компилятора геометрии - это появление новых опций (ключей), сами алгоритмы, оптимизация и прочее не проводилось?

Спрашиваю это все к чему, во многих кастомных компиляторах можно поймать странные ошибки освещения такого рода на обоих рендерах:
https://ap-pro.ru/forums/topic/3341-universalnye-kompilyatory-urovney-h64/?do=findComment&comment=232962
В первых компиляторах от K.D. довольно сильно косячила статика. Поэтому использую все новые компиляторы с настороженностью.

 


Дополнено 19 минуты спустя
В 25.03.2023 в 07:41, Yara сказал:

От размера шейпа объекта зависит, как далеко улетит камера, и так всегда было.

Я бы сделал, если размер шейпа выделяемого объекта больше 10 (?) метров, то для функции выделения принимаем его за 10. Ну вроде

...
if (radius > 10) radius = 10
...

Смысла нет улетать за два километра, если шейп большой. Рестрикторов тоже касается.

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


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

RayTwitty 

Ага, только ключи.

 

Компилятором от Ская собирал для теста пару-тройку карт, компилит ощутимо быстрее, потом бегал / летал в деморекорде, ну не было багов, хотя я искал.

Там скрин, хрен разберёшь где что, походу негры уголь таскают с базовым фонариком из Лост Альфы.

Глянул его лог, мне не понравились строки:

Loaded texture: 'door\door_j02' 256x512 alpha[true] - эта текстура не должна иметь альфу, и подобных этой куча. Я так думаю, при запекании лайтмап, свет от ист. света проходит через полигоны с таким материалом, хотя в коде проверятся его шейдер (параметр прозрачности, типа def_shaders\def_translucensy), но может где и по-другому.

 

15 часов назад, RayTwitty сказал:

Я бы сделал, если размер шейпа выделяемого объекта больше 10 (?) метров, то для функции выделения принимаем его за 10.

Пока не знаю как, но поищу в движке примеры.

 

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


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

Пока не знаю как, но поищу в движке примеры.

Возможно в CUI_Camera::ZoomExtents, после bb.getsphere(C,R) попробовать модифицировать R примерно как я предлагал.

Это правда общий компонент для всех редакторов, так что после правки надо будет проверить на логику использования в АЕ, РЕ и в SE(?). И еще в идеале посмотреть, не используется ли CUI_Camera::ZoomExtents где-то кроме этой кнопки, чтобы ничего не поломать.

P.S. Если Zoom Extents Selected перемещает камеру к выделенному объекту, то смысл кнопки Zoom Extent не понятен. В LE при нажатии на нее камера улетает в космос.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 29.03.2023 в 04:25, RayTwitty сказал:

CUI_Camera::ZoomExtents

Функция только для редакторов, для теста поправил так: bb.getsphere(C,10);

Вышло не очень, к примеру на террейне затона, камера примерно на этом расстоянии от его центра, а на шейпе при скейле (500,500,500), она будет в центре, где пивот. Не знаю как сделать, вот есть EScene::ZoomExtents, который только для ЛЕ. Там можно произвести какие-то манипуляции с bounding box объекта, с использованием методов класса Fbox (xrCore\_fbox.h), вот только какие?

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


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

Не знаю как сделать, вот есть EScene::ZoomExtents, который только для ЛЕ. Там можно произвести какие-то манипуляции с bounding box объекта, с использованием методов класса Fbox (xrCore\_fbox.h), вот только какие?

Ну, если надо поправить EScene::ZoomExtents, который используется только в ЛЕ, то можно попробовать как-то так

if (BB.is_valid()) Device.m_Camera.ZoomExtents(BB);

меняется на

if (BB.is_valid()) Device.m_Camera.ZoomExtents(BB,10);

Объявление функции изменяем на

void ZoomExtents(const Fbox& bb, float max_radius=-1.f);

в самой функции добавляем строчку

void CUI_Camera::ZoomExtents(const Fbox& bb, float max_radius) // и не забыть дописать новый параметр
{
    Fvector C,D;
    float R,H1,H2;
    bb.getsphere(C,R);
    if (max_radius>0 && max_radius<R) R = max_radius; // эту строчку
    D.mul(m_CamMat.k,-1);
...

 

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

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


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

CUI_Camera::ZoomExtents(const Fbox& bb, float max_radius)

Если добавлен 2-й параметр для базовой функции, значит везде надо ставить какое-то число в Device.m_Camera.ZoomExtents(BB, float); или нет?

Все редакторы её вызывают из xrECoreB, для теста обновил только её и ЛЕ, работает нормально. Странно, что другие тоже работают без вылетов. На всякий пересобрал их с указанием числа, всё работает - падений нет.

 

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


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

Если добавлен 2-й параметр для базовой функции, значит везде надо ставить какое-то число в Device.m_Camera.ZoomExtents(BB, float); или нет?

Нет, я же дефолтное значение параметра указал, если его нет. В этом и суть, чтобы не трогать код других редакторов)

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


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

Обновление:

https://drive.google.com/file/d/12tR-JjG8lCsV13g9CFFsS-chyRzI0JuC/view?usp=sharing
https://bitbucket.org/Yar0s1av/xray_stalker_sdk_04_fixed/downloads/xray_sdk_soc_fixed_smg.7z


- В Library editor, как в ЗП, можно выделять больше 1-го объекта;
- Исправлено назначение для BumpMap - NormalMap (поле Special NormalMap в параметрах текстуры);
- Ограничена дальность отлёта камеры от объекта при использовании Zoom Extents Selected;
- Как в ЗП, возможность скрыть / показать категории объектов + отдельная клавиша в настройках (Visibility) для ии-сетки;
- Кубический env_mod, корректно работает при доп. правках движка, на оригинальном работает как 10м сфера;
https://bitbucket.org/stalker/xray-csky_borscht_sdk/commits/62bcd5ff7a7159cb0c873e991eef09046371eeb9


Все изменения: https://drive.google.com/file/d/1D4yEfqlXoAJ0QtDkTfvkPboFeE7ljxWP/view?usp=share_link

  • Лайк 1
  • Спасибо 1

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


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

Yara с этим обновлением почему-то если открываешь вкладку file - open, порой не показывается окошко выбора локации.

Последовательности какой-то не заметил, появляется рандомно.

Вопросец: а в этом СДК исправлено, когда ставишь объекту camera галочку (забыл какую) и она телепортировалась в 0 координаты?

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


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

В "Object List" LE при копировании текста из буфера обмена винды в поле поиска, почему-то всегда добавляется символ "" в конец, в итоге постоянно приходится его убирать. Пример: bun_space_restrictor_0001


 

upd: Блин, форум его удаляет, поисковик тоже. Там типа буквы "Т" только смещенная вниз. При манипуляциях в поле поиска в LE символы кстати меняются. Еще появлялась стрелочка вправо и "L" как степень.

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

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


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

планируется добавить поддержкy fog volumes и smart cover из чн?

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 21.04.2023 в 14:55, imcrazyhoudini сказал:

Вопросец: а в этом СДК исправлено, когда ставишь объекту camera галочку (забыл какую) и она телепортировалась в 0 координаты?

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

В 21.05.2023 в 20:05, imcrazyhoudini сказал:

планируется добавить поддержкy fog volumes и smart cover из чн?

Нет.

В 17.05.2023 в 21:08, RayTwitty сказал:

почему-то всегда добавляется символ "" в конец

Знаю, там строка AnsiString, почитал: https://cubook.pro/tip-strok-ansistring

блок "Преобразование от типа AnsiString к (char *)". Но в коде уже есть преобразование .c_str():

Спойлер

void __fastcall TfrmObjectList::ElEdit1Change(TObject *Sender)
{
    TElEdit* edt 			= (TElEdit*)Sender;
    AnsiString str 			= edt->Text;
    ProcessFindItemInList	(tvItems->Items->GetFirstNode(), str);
}
//---------------------------------------------------------------------------

void TfrmObjectList::ProcessFindItemInList(TElTreeItem* from, AnsiString str)
{
    bool bfound 			= false;
    for ( TElTreeItem* node = from; node; node = node->GetNext())
    {
        if(NULL==node->Data)
            continue;

        CCustomObject* O 			= (CCustomObject*)node->Data;
        if( strstr(O->FName.c_str(), str.c_str()) )
        {
            if(find_node)
            {
                find_node->ParentColors 	= stored_parent_colors;
                find_node->BkColor			= storred_bk_color;
            }
            stored_parent_colors		= node->ParentColors;
            storred_bk_color			= node->BkColor;
            find_node 					= node;

            find_node->MakeVisible		();
            find_node->ParentColors 	= false;
            find_node->BkColor			= clYellow;

            bfound						= true;
            break;
         }
    }

    if(!bfound && find_node)
    {
        find_node->ParentColors 	= stored_parent_colors;
        find_node->BkColor			= storred_bk_color;
        find_node = NULL;
    }
}

 

 

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


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

Путь в батнике редактора постпроцессов неправильный, запустился с таким:

@start bins\Postprocess.exe -editor

Еще при запуске жаловался на отсутствие designide60.bpl. Пришлось искать и класть в бинарники. Лучше этот файл добавить в архив.

P.S. Редактор также спамит папкой logs в папку с редактируемым файлом. Так было еще с ЗП.

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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