Редактирование движка |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Редактирование движка |
22.01.2016, 17:18
Сообщение
#4461
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Редактирование собранного движка Проект Cut X-Ray Цель проекта - создание отдельных изменений движка игры с их последующей комбинацией с другими правками. Авторы: SkyLoader, _призрак_ Для платформ: ТЧ 1.0004 и 1.0006, ЧН 1.5.10, ЗП 1.6.02 Адрес проекта на Google Code: Страница на Moddb: Пак 1 1. Исправление вылета "can't find rank" для оружий. 2. Смерть от первого лица. Видео: 3. Collide Возвращена коллизия мертвых тел с неписями и актором, как она сделана в старой физике билдов. Видео: 4. Круглый прицел. Возвращен круглый прицел вместо перекрестья, как билдах. 5. Исправление вида от 3-го лица. Изменено положение камеры от 3-го лица (1). Стрельба идет по перекрестью, а не по направлению актора. Если включить вид от 3-го лица (1) и удерживать Shift, то ГГ будет автоматически целиться в ближайшего непися или монстра. Проблемы: Стрельба по перекрестью идет также при виде от 3-го лица (2). Если при автоматическом нацеливании непись/монстр удалится или перейдет в оффлайн, будет движковый безлоговый вылет. Я думал вырезать это нацеливание, но решил оставить. Пак 2 1. Luminosity progress (только ТЧ) Возвращение шкалы освещения вместо шкалы "заметности" ГГ, как в билдах. 2. Запрет на доставание оружия в машине (только ТЧ и ЧН) и на лестнице (ТЧ, ЧН, ЗП). 3. Руки на руле в машине. (только ТЧ и ЧН) Видео: 4. Отсутствие распознавания неписей перекрестием: При наведении на непися перекрестье имеет дефолтный цвет. Также не показывает информацию о неписе, если смотреть на него. 5. Bind_object: Возможность использовать скрипты в мультиплеере. 6. Из оружия на классе бинокля можно стрелять (только ТЧ) Пак 3 1. Включение некоторых команд без использования ярлыка. Можно патчить по отдельности. Команды: -smap_4096 (максимально улучшенные карты теней), -mblur (включение блюра). 2. Измененная анимация безоружного гг. 3. Увеличение дистанции диалога с неписями (для создания сценок на расстоянии) 4. Исправление вылета при использовании предметов из трупов неписей. В отличии от версии Kolmogor'а, здесь отключено само меню использования. 5. Возможность поднимать болты как обычные инвентарные предметы (комбинировать с модом Charsi "Заканчивающиеся болты") Правки от RayTwitty aka Shadows Geometry LOD fix (CS 1.5.10) – расширение диапазона консольной команды r__geometry_lod Camblu crosshair for build 1865 – замена перекрестия прицела на кружок в билде 1865 Vertex buffer fix for NC Project – исправление вылета по переполнению буфера в NC Project NO 100 sovetov fix (COP 1.6.02) – убирает надписи "100 советов" с экрана загрузки Demo Record fix (SOC 1.0006) – убирает красные надписи в режиме demo_record Weapon Bobbing Beta (SOC 1.0006) – раскачка оружия при ходьбе (бета-версия) Build Loadscreen (SOC 1.0006) – билдовский экран загрузки со статичным изображением Detail Density fix (SOC 1.0006) – расширение диапазона консольной команды r__detail_density Mipbias fix (SOC 1.0006) – расширение диапазона консольных команд r1_tf_mipbias и r2_tf_mipbias No Quick Use fix (SOC 1.0006) – запрет на использование аптечек и бинтов по быстрым клавишам Sun Near fix (SOC 1.0006) – расширение диапазона консольной команды r2_sun_near Target Font (SOC 1.0006) – замена шрифта под перекрестием прицела на шрифт DI Unload Magazine fix (SOC 1.0006) – фикс скриптовой функции unload_magazine - теперь патроны разряжаются в инвентарь PNG Screenshots (SOC 1.0006) – игра теперь делает качественные скриншоты в формате png Правки от K.D. Правки от macron Исправленный экзешник для SoC 1.0006 Доработанный и исправленный экзешник для ТЧ 1.0006 (на основе Steam-версии без защиты) Включает в себя исправления вылетов, а также очистку лога игры от засоряющих сообщений. Более подробное описание внутри архива. Ссылка: X-Ray extensions portable Портативная версия расширений движка "X-Ray extensions" Платформы: ТЧ 1.0006, ЧН 1.5.10, ЗП 1.6.02 Эта версия имеет все нужные библиотеки и патчеры, а также настроенные bat-файлы для успешной компиляции. Более подробное описание внутри архива. Ссылка: Правки от Kolmogor Правленный xrGame для SoC 1.0004 Изменения: 1. Добавлена консольная команда fov [5.0, 180.0] - изменяет глобальный FOV камеры. 2. Добавлена консольная команда k_ammo_on_belt [on\off] - включает\выключает использование патронов с пояса. 3. Артефакты работают из рюкзака, а пояс служит контейнером. Ссылка: Правки от Kontro-zzz Изменение значения hud_fov Правки фиксированных значений параметра hud_fov - 0.37 либо 0.53, Должно работать на GOG версии и no DVD. Редактирование исходников Репозитории [SoC] () () () () () () () () () () () [CS] () () () () () () [CoP] () () () () () () () () () () () () () [2.0] () () NDA GSC Оригинальные версии движков Могут понадобиться для восстановления оригинальных библиотек. Официальный мультиплеерный (невышедший) патч для SoC Уроки Изменение плотности травы и создание патча через IDA Pro Автор: _призрак_ edited by: RayTwitty aka Shadows Для редактирования нам понадобится программа IDA Pro. 1. Запускаем IDA Pro. 2. Загружаем бинарник рендера xrRender_R1.dll или xrRender_R2.dll. 3. Теперь необходимо найти, где регистрируется консольная команда. Жмем Ctrl+T и вводим r__detail_density. 4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, только укажу, где задаются параметры: Код регистрации консольной команды Код fld ds:flt_10064400 -- нижнее ограничение равное 0.6 or dword_1007CACC, 8 sub esp, 8 fstp [esp+30h+var_2C] mov ecx, offset unk_1007CA9C fld ds:flt_10064380 -- верхнее ограничение равное 0.2 fstp [esp+30h+var_30] push offset aSs; "ЪЩЩ>" push offset aR__detail_dens; "r__detail_density" call ds:??0CCC_Float@@QAE@PBDPAMMM@Z; CCC_Float::CCC_Float(char const *,float *,float,float) push offset sub_1005E080; void (__cdecl *)() call _atexit add esp, 4 5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта: Первый и самый логичный вариант: изменить переменную. Но тут есть небольшой подвох на котором я попался - этой переменной может пользоваться не одна функция, а несколько. И не ясно, что вы можете сломать, поменяв одну циферку на другую. Второй: взять другую, уже существующую переменную с подходящим значением. Хороший вариант которым я и воспользовался. Но и тут есть недостаток - переменных в бинарнике не так уж и много и можно просто не найти нужную. Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать Я пошел по второму пути. Два раза щелкнув на ds:flt_10064380, IDA отправила меня в дебри под названием .rdata. Там я нашел переменную, которая называлась - flt_1006452C и которая имела значение 0.0720999. Насколько я понял, flt_1006452C - не является названием переменной, это сборка из двух показателей - (тип числа)_(смещение). В нашем случае это число типа float, которое находится по адресу 1006452C. Ну что же, приступим к редактированию! 6. Отправляемся в самое начало файла. Как? Сверху есть что-то типа статус-бара - строка состоящая из синего, серого, черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца. 7. Опять ищем r__detail_density. Находим в этой функции строку fld ds:flt_10064338. Дальше самое интересное - жмем на вкладку Hex View и там у нас выделяются какие-то цифры. Это наша переменная 10064338, только написано наоборот. Сравните: Код 38 43 06 10 Похоже, не правда ли? 10 06 43 38 8. Начинаем редактировать. Нам нужно поменять 4338 на 452C (т.е. заменить ссылку с одной переменной на другую). Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где-нибудь в коде (это нужно сделать обязательно!). 9. После этого жмем правой кнопкой мыши и выбираем commit changes. Таким образом, мы поменяли ссылку на переменную и теперь верхнее ограничение будет равно значению из другой переменной. Но IDA не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так: File -> Produce file -> Create DIF file. Назовем его test. Этот файл можно открыть при помощи блокнота и посмотреть, что получилось. 10. Теперь необходимо внести изменения из этого файла в движок. Это можно сделать при помощи патчера bpatch. Качаем, смотрим и запускаем bpatch.cmd. Я думаю, что батник вы сможете изменить самостоятельно (настроить пути файлов и т.п.) - там все элементарно. 11. Все! Изменения внесены в движок, можно тестировать Огромное спасибо Kolmogor'у и malandrinus'у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз. Спасибо и Rolan'у, с которым я очень много беседовал и тоже узнал много чего Полезные ссылки Сборка движка X-Ray Сообщение отредактировал RayTwitty - 27.08.2021, 00:15 |
 
|
|
|
|
08.02.2020, 21:44
Сообщение
#4462
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
Недавно встречал ванильную модель баржи на болотах, вот она: Вроде это динамика, хотя может и статика. В ней ~28 групп (не помню точно). То есть эта баржа обрабатывается как 28 отдельных моделей. Куда это годится? Завод нефтеперегонный в центре болот тоже около того. Сколько текстур на барже используется? Наверняка 28, от туда и твои группы они же материалы. Если бы текстура была одна навесь меш, то разделение по материалам требовалось бы только если на разных участках меша нужно было бы обеспечить разный звук и партиклы при выстреле (резина, дерево, метал). А динамика или статика по большому счету без разницы, единственное ограничение по шейдерам, для динамики и статики они разные. Завод тоже по этим же принципам делался. На счет скелета, спроси у автора, на кой ему нужно было 16 сурфейсов, один вполне достаточен. Предположу, но не факт. Мне нужно разместить эту модель, как статику в разных позах и с разными разрушениями. Скелет позволяет быстро сделать. Затем скелет удаляется, а статическая модель остается. Годится для локаций. Иного применения разделения на столько материалов не вижу. Ерунда, скелет ни как не повлияет. Если статика, то очень даже годится, если модель разбита на множество мешей. Удобно работать в редакторе, а также создавать сектора,... на локациях. Сектора идут отдельными мешами, что бы выделить сам объем сектора и построить порталы Эти скелеты в игре функционируют таким образом: при спавне на локе он стоит в полный рост, но стоит к нему применить физ. воздействие, как скелет падает и рассыпается на части - череп и кости. Может быть разбитие на разные группы как раз и нужно для того, чтобы он рассыпался на отдельные модели. Если он будет цельный, вряд ли рассыплется. Дизель прав, целевой объект убирается, а куча мусора спавница. |
 
|
|
08.02.2020, 21:45
Сообщение
#4463
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
В дополнение к посту #4460:
Забыл про худовые партиклы и лайты. Ведь теперь позиции строятся от нулевых координат, а значит партиклы и лайты будут рисоваться неправильно. Можно, конечно, их тоже рисовать из нулевых координат, но правок по коду будет гораздо больше. Думаю, ничего страшного не будет, если оставить им отрисовку "по-старому". Для этого в attachable_hud_item::setup_firedeps(firedeps& fd) следует поправить fire/shell point'ы. После строки: Код m_item_transform.transform_tiny (fd.vLastFP); Добавить прибавление позиции камеры: Код fd.vLastFP.add (Device.vCameraPosition); После: Код m_item_transform.transform_tiny(fd.vLastFP2); Добавить: Код fd.vLastFP2.add (Device.vCameraPosition); После: Код m_item_transform.transform_tiny (fd.vLastSP); Добавить: Код fd.vLastSP.add (Device.vCameraPosition); После этого партиклы и лайты должны заработать. Сообщение отредактировал SkyLoader - 08.02.2020, 21:59 |
 
|
|
08.02.2020, 21:57
Сообщение
#4464
|
|
Почти Игроман Репутация: 42 Группа: Участник Сообщений: 626 Награды: 1 Регистрация: 10.12.2015 |
скелет ни как не повлияет Каждый делает, бесспорно, по-своему. К примеру, мне нужно сделать 200 различных трупов на локации, где у каждого будут различные позы смерти, а также оторванные конечности. Делается модель, где какие-то части тела делаются различными мешами на одной модели. Привязываю к скелету, а после начинаю играться и дергать за "ниточки"- создавать различные позы, сохраняя сцены в тех позициях. Где-то тупо вырезаю мешь, к примеру, руки. Дыр не будет, т.к. каждая мешь самодостаточна. 200 моделей склепаю за часа 3. Ты предлагаешь двигать вертексы. Что быстрее? Вопрос риторический. Сообщение отредактировал ed_rez - 08.02.2020, 21:58 -------------------- |
 
|
|
08.02.2020, 22:04
Сообщение
#4465
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
скелет ни как не повлияет Каждый делает, бесспорно, по-своему. К примеру, мне нужно сделать 200 различных трупов на локации, где у каждого будут различные позы смерти, а также оторванные конечности. Делается модель, где какие-то части тела делаются различными мешами на одной модели. Привязываю к скелету, а после начинаю играться и дергать за "ниточки"- создавать различные позы, сохраняя сцены в тех позициях. Где-то тупо вырезаю мешь, к примеру, руки. Дыр не будет, т.к. каждая мешь самодостаточна. 200 моделей склепаю за часа 3. Ты предлагаешь двигать вертексы. Что быстрее? Вопрос риторический. И при чем здесь материалы? Говоришь запечь как статику и вуаля. Матерьял остается темже. Меш делить можешь хоть на 200 хоть по атомам. Сообщение отредактировал FL!NT - 08.02.2020, 22:06 |
 
|
|
08.02.2020, 22:10
Сообщение
#4466
|
|
Почти Игроман Репутация: 42 Группа: Участник Сообщений: 626 Награды: 1 Регистрация: 10.12.2015 |
Сектора идут отдельными мешами, что бы выделить сам объем сектора и построить порталы Так ты повторяешь мои слова. Я начало работы, когда моделируется какая-то модель, а ты завершающую стадию. Меши объединить куда проще, чем разобрать 1 секторную локацию на меши для секторного деления. Да и работать с материалами проще, когда одна мешь- один материал. В завершающей части работы все именно так, как пишешь. В общем, каждый делает, как ему удобнее. В моем случае, многое создается своими руками, подгоняется все под ИИ сетку, поэтому за полную идентичность со зданиями в реальной жизни не претендую. Исхожу из удобства проложения ИИ сетки. Свой способ создания локаций и описываю. И при чем здесь материалы? Я отделяю все материалы на меши. У трупа в руках пистолет, совсем иной материал. У трупа на голове каска, совсем иной материал. Мне так удобнее работать. Используются несколько текстур. К примеру, куртка, штаны, ботинки,... и всяческие цацки. Смотри дальше, чем модельки сталкеров от ПЫС. Я ответил про скелет и ерунду? Про материалы не думай, это мой способ работы. Сообщение отредактировал ed_rez - 08.02.2020, 22:16 -------------------- |
 
|
|
08.02.2020, 22:18
Сообщение
#4467
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
Сектора идут отдельными мешами, что бы выделить сам объем сектора и построить порталы Так ты повторяешь мои слова. Я начало работы, когда моделируется какая-то модель, а ты завершающую стадию. Меши объединить куда проще, чем разобрать 1 секторную локацию на меши для секторного деления. Да и работать с материалами проще, когда одна мешь- один материал. Но в завершающей части работы все именно так. как пишешь. В общем, каждый делает, как ему удобнее. В моем случае, многое создается своими руками, подгоняется все ИИ сетку, поэтому за полную идентичность со зданиями в реальной жизни не претендую. Исхожу из удобства проложения ИИ сетки. И при чем здесь материалы? Я отделяю все материалы на меши. У трупа в руках пистолет, совсем иной материал. У трупа на голове каска, совсем иной материал. Мне так удобнее работать. Используются несколько текстур. К примеру, куртка, штаны, ботинки,... и всяческие цацки. Смотри дальше, чем модельки сталкеров от ПЫС. А что у трупа каска, другого материала чем у живого? Если есть один набор материалов, то и у трупа он будет тем же. А если смотреть дальше, то на том же UE моделить приходится совсем по другим принципам. |
 
|
|
08.02.2020, 22:31
Сообщение
#4468
|
|
Почти Игроман Репутация: 42 Группа: Участник Сообщений: 626 Награды: 1 Регистрация: 10.12.2015 |
что у трупа каска, другого материала чем у живого? Вшиваю свои трупы на локации, как статику, т.к. свой сюжет и свои локации. Динамические модели вообще другое дело. Именно поэтому я посчитал, что со скелетом (объект) кто-то также сделал, как я делаю. Правда там привязка жесткая, такое, как выше описал, можно делать и без скелета (кости). Поэтому добавил, что вероятно или как-то так, не помню точно. Сообщение отредактировал ed_rez - 08.02.2020, 22:32 -------------------- |
 
|
|
08.02.2020, 22:33
Сообщение
#4469
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
SkyLoader, Проблемы всплыли. На худе нет ни теней, ни освещения от лайтов. Здесь единственный вариант, как мне думается, в шейдере делать отдельный расчет освещения для худа, точно также с добавлением мировой позиции.
Сообщение отредактировал Zagolski - 08.02.2020, 22:36 |
 
|
|
08.02.2020, 22:36
Сообщение
#4470
|
|
Почти Игроман Репутация: 42 Группа: Участник Сообщений: 626 Награды: 1 Регистрация: 10.12.2015 |
на том же UE моделить приходится совсем по другим принципам Это да. Самому не приходилось, я любитель, это все не мой хлеб. Это хобби. Но видел, как моделируются локации. Реально для человека все сделано. -------------------- |
 
|
|
08.02.2020, 22:40
Сообщение
#4471
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
Zagolski, ну тут как. Мой вариант годится только для дефферед рендера. Так как мы записываем всё в G-buffer и забываем. Для форварда придется лайтами освещать от центра координат. Собственно, и тени и освещение у меня работают исправно на деффереде.
Сообщение отредактировал SkyLoader - 08.02.2020, 22:42 |
 
|
|
08.02.2020, 22:54
Сообщение
#4472
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Да, я уже понял. У меня расчет освещения ведется в мировых координатах, нужно на видовые переводить.
В мировых производительность выше, нам не нужно лишнее умножение на матрицу вида поголовно во всех вершинных шейдерах делать, напрямую выводим мировые (они в шейдер уже мировые передаются, кроме динамических моделей). Выигрыш ~1%. Хотя я все равно собирался на видовые переводить, там точность позиции выше. Но на статике расчет в мировых ведется, так что там этот способ с "нулевым худом" не будет работать, стоит это учесть. Хотя есть еще кое-что и на ванильной отложке. В hmodel присутствует выборка из кубмапы по мировым координатам, возможно там что-то будет шалить (криво вектор для отражений будет выбираться для худа). Сообщение отредактировал Zagolski - 08.02.2020, 23:12 |
 
|
|
08.02.2020, 22:55
Сообщение
#4473
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
что у трупа каска, другого материала чем у живого? Вшиваю свои трупы на локации, как статику, т.к. свой сюжет и свои локации. Динамические модели вообще другое дело. Именно поэтому я посчитал, что со скелетом (объект) кто-то также сделал, как я делаю. Правда там привязка жесткая, такое, как выше описал, можно делать и без скелета (кости). Поэтому добавил, что вероятно или как-то так, не помню точно. Отличия при настройке материалов в СДК будет только в шейдерах, остальное ни как не отличается. на том же UE моделить приходится совсем по другим принципам Это да. Самому не приходилось, я любитель, это все не мой хлеб. Это хобби. Но видел, как моделируются локации. Реально для человека все сделано. Ну я тоже любить, основная профессия далека от этого.)) К сожалению тут нет темы для 3д-шников, было бы интересно. |
 
|
|
08.02.2020, 23:22
Сообщение
#4474
|
|
Почти Игроман Репутация: 42 Группа: Участник Сообщений: 626 Награды: 1 Регистрация: 10.12.2015 |
остальное ни как не отличается В основном так и есть, почти все на дефолте. Очень редко бывали иные настойки. Так сходу даже не вспомню, где применял на уже созданных локациях. Нужно смотреть свои рабочие текстовые файлы. нет темы для 3д-шников Есть отдельные темы по 3д редакторам, но не сильно популярны. -------------------- |
 
|
|
17.02.2020, 18:35
Сообщение
#4475
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
Тут накидал на скорую руку плагин для NotePad++ с поддержкой X-Ray типов (Oxy включительно), немного классов, немного std и WinAPI. В общем, лично мне работать стало проще. -------------------- В армии по 01.07.2020. |
 
|
|
17.02.2020, 20:54
Сообщение
#4476
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
На гитхабе есть возможность заливать бинарные файлы? Речь идет не о репо, а о разделе Downloads (на битбакете так).
Иногда нужно в репо положить разные скомпиленные либы, другие файлы. Пример: -------------------- |
 
|
|
17.02.2020, 21:12
Сообщение
#4477
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
Вкладка Releases
-------------------- В армии по 01.07.2020. |
 
|
|
20.02.2020, 00:55
Сообщение
#4478
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
SkyLoader, на ТЧ перенести никак?
Сообщение отредактировал xrModder - 20.02.2020, 01:00 |
 
|
|
20.02.2020, 23:59
Сообщение
#4479
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Никто не замечал, что при проигрывании звука скриптом от объекта в 3д пространстве (_НЕ_ в голове ГГ !!!) громкость звука получается немного разной - то тише, то громче? Может это как-то связано с позицией на уровне, а не громкостью (точность координат float)?
Код xr_sound.get_safe_sound_object("snd_name"):play_at_pos(obj, obj:bone_position("bone_name"), 0, sound_object.s3d) На практике очень заметно на коротких но часто повторяющихся звуках. В частности столкнулся когда делал звуки открытия/закрытия дверей машин: Сообщение отредактировал RayTwitty - 21.02.2020, 00:13 -------------------- |
 
|
|
21.02.2020, 00:46
Сообщение
#4480
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
xrModder, проблем с переносом на первый взгляд быть не должно. Вычитание позиции камеры только надо делать где-нибудь в CHudItem::UpdateHudPosition.
Основная проблема - это то, что данный метод подходит только рендеров с динамическим освещением. Если у движка есть рендеры со статическим освещением, то в игровом коде вычитание позиции камеры надо делать только под проверкой на рендер. Например, так: Код if (::Render->get_generation() == IRender_interface::GENERATION_R2)
{ /* вычитаем позицию камеры */ } Сообщение отредактировал SkyLoader - 21.02.2020, 00:46 |
 
|
|
21.02.2020, 11:04
Сообщение
#4481
|
|
Игрок Репутация: 3 Группа: Участник Сообщений: 40 Регистрация: 10.11.2019 |
Подскажите, пожалуйста! Перевожу движок ЧН в Visual Studio 2019 - Можно ли выпилить родной stlport и использовать майкрософтский ? Или какой лучьше использовать ?
|
 
|
|
Текстовая версия | Сейчас: 08.05.2024, 09:10 |