Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Valorant — Поиск актуального оффсета ComponentToWorld и фикс костей

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
507
Реакции
13
Здорова, реверсеры. Пытаюсь допилить отрисовку скелета в Valorant, но застрял на переводе трансформов костей в мировые координаты. Суть в том, что при попытке вычитать meshCompToWorld через стандартный флоу, данные на выходе получаются кривыми.

Техническая база:
Использую чтение через драйвер:
Код:
Expand Collapse Copy
meshCompToWorld = driver.Read<FTransform>(mesh + ComponentToWorld);

В конфиге сейчас забито:
Код:
Expand Collapse Copy
constexpr uint64_t ComponentToWorld = 0x0250;

Пробовал оффсеты 0x250 и 0x2D0, но ни один не дает валидного результата. В дебаг-логах скейл c2w_s постоянно падает в ноль, из-за чего мировые координаты костей тоже обнуляются.

Логика обработки скелета:
  1. Чтение ComponentToWorld из меша.
  2. Получение BoneArray (чекаю BoneArrayCache 0x0AB8, если пусто — иду в BoneArray 0x0AA8).
  3. Трансформ кости в World Space.
  4. Отрисовка через WorldToScreen.

[bone-trace] bone_world ok mesh=0xCDD9AAB0 bone=3 local=(-10.1,-3.9,116.8) c2w_t=(0.0,0.0,0.0) c2w_s=(0.00,0.00,0.00) c2w_q=(0.000,0.000,0.000,1.000) world=(0.0,0.0,0.0)

Насколько я помню, ComponentToWorld должен находиться в USceneComponent, а наш меш (USkeletalMeshComponent) как раз от него наследуется. Похоже, что оффсеты из старых дампов окончательно протухли или структура была изменена.

Кто-нибудь может подтвердить актуальный оффсет или направить, как его правильно протрейсить через CalcNewComponentToWorld в IDA?

Интересно, это античит начал так мусорить в памяти или я просто проглядел очевидный сдвиг в структурах Unreal Engine.
 
Назад
Сверху Снизу