Перейти к публикации
Планета Deus Ex

CanvasExt - независимый рендеринг оружия и прочего Inventory


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

Опубликовано:

В Deus Ex есть особенность движка, или если хотите, баг, из-за которого при больших значениях FOV оружие "продвигается вглубь" и мы видим отсутствующие полигоны. Всё потому что модель сдвигается вместе с FOV игрока.

 

Пример:

1475473062_.png.136e45c5fd156904babe198bb68ab4d7.png

 

 

CanvasExt решает эту проблему, давая возможность рисовать оружие со своим, независимым FOV. 

Сразу скажу, что этот мод не исправит оригинальную игру, для этого его нужно задействовать CanvasExt и поменять пару функций в скриптах, ничего сложного. Также оп порождает другую проблему - если нужно спавнить эффекты для вида от первого лица, то придётся учитывать разницу в FOV игрока и Inventory, и компенсировать её.

 

Как использовать?

// Ваш базовый класс оружия, или любого другого Inventory
event RenderOverlays(canvas Canvas)
{
    local rotator NewRot;
    local bool bPlayerOwner;
    local int Hand;
    local PlayerPawn PlayerOwner;
    local CanvasExt CanvasExt;

    CanvasExt = CanvasExt(Canvas);

// skipped...

    //Canvas.DrawActor(self, false);
    CanvasExt.DrawActorExt(self, false,,75);
}

Главное здесь - использовать именно CanvasExt, а 75 это отдельный FOV для Inventory, который нужно нарисовать на HUD. 

 

Результат:

4c2c3384488e328d.thumb.webp.3ec8c0f3c98279089f8942e9b0e0f82a.webp

aedb23e5fff1ab4d.thumb.webp.8b96c131825565bafdef022233e2063a.webp

 

 

 

Более подробная инструкция в архиве, там-же находится скомпилированная DLL и полный исходный код. 

CanvasExt_v1.zip

 

Создайте аккаунт или войдите в него для комментирования

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

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

Зарегистрируйтесь для получения аккаунта. Это просто!

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

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...