Редактирование движка X-Ray - Страница 152 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

Редактирование движка X-Ray


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

Всем привет! Нужна помощь, касательно оружейных слотов. Подскажите, как сделать, чтобы при перемещении оружия (бинокля, гранаты в т.ч) в слот при открытом инвентаре, этот предмет не брался в руки автоматически ? Т.е, чтобы пушка просто легла в слот, но сама не доставалась. Реально ли сделать такое ?

Подскажите людей, причастных к написанию рендера в OGSR.

Буду в личку стучаться, раз на форуме никто помочь не может/не хочет.

KRodin-а знаю...

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

не хочет

:) Токсичность она такая.

 

Не надо никого искать и ни к кому стучаться. Вот репозиторий OGSR-Engine: https://github.com/OGSR/OGSR-Engine. А здесь(https://github.com/OGSR/OGSR-Engine/issues) описываешь свою проблему.

  • Согласен 1
В 16.11.2019 в 15:25, abramcumner сказал:

Токсичность она такая.

Кто бы говорил :)

 

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

Исправление бага движка OGSR (сверхдолгий запуск)
 

Скрытый текст

 

iGPUNum = GetGpuNum();

iGPUNum = GetGpuNum();

заменить на

// iGPUNum = GetGpuNum(); iGPUNum = 1;

//	iGPUNum = GetGpuNum();
	iGPUNum = 1;

В двух местах в файле HWCaps.cpp

 

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

Изменено пользователем Zander_driver
  • Полезно 3
1 час назад, Zander_driver сказал:

у которых видеокарты две, наверное, проблемы будут.

Это вряд ли, в настройках ВК можно насильно заставить запускать нужную и только ее для запускаемого файла.

только что, ed_rez сказал:

можно насильно заставить запускать нужную и только ее

Можно то ладно. gpu_id нужной видеокарты, это меняет?

Соль тут именно в этом.

А вот у меня НА6.0 на средних настройках хорошо идёт, а здесь на самых минимальных долго грузится  и частенько тормозит. В чём тут дело не пойму, ведь движки похожие.

Всем привет, возможно вопрос странный. Пилил функцию сокрытия худовых костей ЗП, и столкнулся с такой вот штукой:

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

1. Файлы ...\xrGame\HudItem.cpp и HudItem.h 

Создал функцию:

void CHudItem::SetBoneVisible		(const shared_str& bone_name, BOOL bVisibility)
{	
	if( !GetHUDmode()) return;
	HudItemData()-> set_bone_visible(bone_name,bVisibility,FALSE);
}

Зарегистрировал ее в HudItem.h (после регистрации PlayHUDMotion)

void				SetBoneVisible		(const shared_str& bone_name, BOOL bVisibility);

2. Файлы ...\xrGame\script_game_object_inventory_owner.cpp и ...\xrGame\script_game_object.h

Создал функцию:

void CScriptGameObject::SetBoneVisible(const shared_str& bone_name, BOOL bVisibility)
{
CHudItem *hud_item = smart_cast<CHudItem*>(&object());
hud_item -> SetBoneVisible (bone_name, bVisibility);
}

Зарегистрировал по-аналогии с остальными. Ну и в ...\xrGame\script_game_object_script3.cpp

		.def("set_bone_visible",			&CScriptGameObject::SetBoneVisible)

Произвожу вызов функции ( из скрипта wpn:set_bone_visible("magazin", false)) но оно не работает, и ломает скрипты как описал выше, при этом не приводя к вылету. Если кто шарит, может подскажите в каком направлении двигаться. Если что-то не правильно описал, или наделал миллион ошибок, то не бейте сильно)

Спасибо!

Изменено пользователем _ХоЗаР_
Если что-то не правильно описал, или наделал миллион ошибок, то не бейте сильно)
  • Смешно 1

@_ХоЗаР_, с++ конечно разрешает кастить что угодно к чему угодно, типа CGameObject к CHudItem, но думать приходится программисту.

 

К сожалению так писать нельзя. Нужен какой-нибудь более длинный путь, типа object().cast_inventory_item()->cast_hud_item(), и на каждом шаге проверяй, что не получил nullptr.

Изменено пользователем abramcumner
  • Спасибо 1

@abramcumner, Сейчас проверю. 

9 минут назад, abramcumner сказал:

К сожалению так писать нельзя.

До этого выводил функцию проигрывания анимации в скрипты, и оно работало

	CHudItem		*hud_item = smart_cast<CHudItem*>(&object());
	if (!hud_item)
		return;
	hud_item -> PlayHUDMotion (anim, FALSE, hud_item, hud_item -> GetState());

 

Оффтоп оно заработало. Заменил обьявление 

const shared_str& bone_name

на 

LPCSTR bone_name

Если не трудно, кто сможет обьяснить разницу?

  • Нравится 1

Скорее всего эти вопросы примут за оффтоп, но: 1. В каких файлах хранится информация о слоте для брони? и 2. Где можно узнать побольше о том, как устроен и работает X-Ray?

Не подскажите, в каких файлах/строках находится рикошет и всё остальное?

От меня плюсик)

@STRЕLOK1, Во-первых, настройка материала. Во-вторых, строка 

allow_ricochet = bool (true/false) (конфиг патрона)
По этой строчке ищите файл исходного кода, а дальше как пойдет.

Актуально для ЗП (CoP)

Изменено пользователем _ХоЗаР_
А вообще по хорошему нужна статейка по всем параметрам амуниции. В свое время не нашел такую.
  • Спасибо 1

А реально вообще сделать анимации для гг, как у нпс? Например, с переключением режима, типо. Ну там, с боевого режимп на какой нибудь режим idle, когда пушка за спиной или в руках, спокойная прогулочная походка, анимация приседа, как у ботов, когда они за костром. Потом кнопочку нажал и переключился в "боевой", пушка на готове, анимации стандартные, скорость бега тоже. Ну и все в таком духе. Видал такое в каком то разрабатывающемся мп моде. 

Изменено пользователем Helgi
  • Нравится 1
13 часов назад, Helgi сказал:

А реально вообще сделать анимации для гг, как у нпс? <...> Видал такое в каком то разрабатывающемся мп моде. 

Реально, кто-то же сделал.

  • Согласен 1
4 часа назад, _ХоЗаР_ сказал:

Реально, кто-то же сделал.

Сделать то сделал, а вот как бы это отдельной фичей реализовать? В тот же CoC запихнуть. В идеале ещё и на рельсы ЧН поставить. А то и для ТЧ. Уверен, многим этого в сингле очень не хватает. Хочется рпшить. Сидеть у костра нормально. Просто гулять по зоне с отрядом сталкеров. Как в fallout. Тоже шутан, но разрабы хотя бы удосужились сделать анимации взаимодействия ГГ с внешним миром. А в столкере бегает, как дегенерат с двумя вёдрами. Бюджетный вариант наруто. Какое тут погружение может быть? 

  • Не согласен 1
  • Сомнительно 1

Добра! Имеется вопрос, правил ли кто ограничение по количество костей скелета в сталкере? Если правили, то можно ссылочку или наводачку. Буду благодарен.

Изменено пользователем _ХоЗаР_
Исправил

@_ХоЗаР_, Размер как я понял подразумевает количество костей у модели?

 

P.S Если я прав, то кто то из разрабов OGSE делал чтобы модель поддерживала 128 костей, но модель вроде как то корёжило из за этого.

Изменено пользователем I am Dead
  • Спасибо 1
1 час назад, _ХоЗаР_ сказал:

правил ли кто ограничение по количество костей скелета в сталкере?

1. По костям прямо сейчас есть запас. В моделях используется 45 костей вроде, можно 64 - итого можно добавить 19 костей ничего не меняя.

2. Количество костей ограничивается при проверке видимости. Сейчас 64, можно увеличить до 128, как в ОГСЕ. Или сразу перейти на безграничные vector<bool>/bitset.

ОГСЕ 128 костей: https://github.com/OGSR/OGSR-Engine/blob/255ad3c48f3f73de05227f015fa1e35eea1dfe7a/ogsr_engine/xr_3da/vismask.h#L6

 

3. Еще есть ограничение при передаче положения костей в шейдер. Сейчас вроде 71 кость. Можно увеличить на треть передавая в шейдеры не матрицы кости, а кватернионы. Опять же есть в ОГСЕ, именно в этом были какие-то баги, если были. Вроде в oxy отладили этот момент. Ну и dx10+ c константными буферами позволяет реализовать неограниченное число костей.

Передача костей в шейдер: https://github.com/OGSR/OGSR-Engine/blob/main/ogsr_engine/Layers/xrRender/SkeletonX.cpp#L75

Изменено пользователем abramcumner
  • Нравится 2
  • Полезно 2

@abramcumner, а анимации из библиотеки OMF не корёжит?

Я с этими разобраться не могу, а вы еще больше просите. !!!:dash2:

  • Сочувствую 1

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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