HLFX.Ru Forum Страницы (264): « Первая ... « 132 133 134 135 [136] 137 138 139 140 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено XaeroX 29-10-2019 в 05:48:

Цитата:
Ku2zoff писал:
Там, получается, куб, а не наэкранные скобки.

Ну да. Более круто же, не?

__________________

xaerox on Vivino


Отправлено Ku2zoff 29-10-2019 в 06:08:

Хм. Кажется, я кое-что придумал. Можно воспользоваться функциями из pm_debug, которые рисуют ббоксы энтить. Но сами ббоксы не рисовать, а только записывать координаты в vuser'ы. Ну а потом, уже в худе, читать координаты, и рисовать красиво.
А ещё проще будет с помощью extern "C" сразу в худе юзать функцию рассчёта координат: на входе у неё энтитя, а на выходе 4 вектора.

Добавлено 29-10-2019 в 13:01:

Цитата:
XaeroX писал:
Ну да. Более круто же, не?

Мне вариант из первой части больше нравится. Меньше лишних элементов. Но самый лучший, ИМХО, вариант в последних играх. Но там шойдеры надо.

Добавлено 29-10-2019 в 13:08:

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


Отправлено nemyax 29-10-2019 в 06:09:

Ku2zoff
Вариант ncuxonaT-а не нравится? Тоже первая мысль такая была.


Отправлено Ku2zoff 29-10-2019 в 07:10:

nemyax ну там же наверное надо в рендерер лезть.



Добавлено 29-10-2019 в 14:10:

Ссылка на ютюб для тех, у кого не видно видео: https://youtu.be/PAX5sZ_TnVY


Отправлено XaeroX 29-10-2019 в 07:28:

Ku2zoff
По мне, так вариант из DXIW тут неплохо бы смотрелся.

Добавлено 29-10-2019 в 14:28:

Цитата:
Ku2zoff писал:
ну там же наверное надо в рендерер лезть.

Не надо там никуда лезть, нужно просто восстановить 8 точек ббокса, трансформировать по той же матрице, по которой ты трансформируешь в видео, и посчитать для них новый ббокс.

__________________

xaerox on Vivino


Отправлено Ku2zoff 29-10-2019 в 08:15:

Перенёс весь код рисования на клиент, из pm_shared юзаю только GetModelBounds. Буду думать дальше. Охота всё-таки дрыгающиеся скобочки, как в первой части.

Добавлено 29-10-2019 в 15:15:

Напоролся на проблему. Все три компонента angles у энтити на клиенте null. Соответственно, не получается вращать рисуемый ббокс.


Отправлено Дядя Миша 29-10-2019 в 09:30:

Цитата:
Ku2zoff писал:
Естественно, она без кастомного рендерера не работает.

Скажем так - без гл-режима. В TriAPI есть такой хак - GetMatrix. Получи через него модельвью, получи проекцию, перемножь их между собой, результат приведи к виду 4х4, потом еще где-то возьми вьюпорт. И всё будет работать под халфой.

ЗЫ. матрицы из 16->4х4 и обратно, можешь тоже у меня взять из класса матриц.

Добавлено 29-10-2019 в 12:25:

А вьюпорт из ref_params.

Добавлено 29-10-2019 в 12:28:

Цитата:
Ku2zoff писал:
Но там шойдеры надо.

Шойдеры это только для эдж-детекшен. Можешь рассчитать в клиентке, но если модель тяжелая будет тормозно.

Добавлено 29-10-2019 в 12:30:

И вообще. Эти вашы, так называемые скобочки - это просто картинка с нарисованными скобочками. А ScissorForAABB даст её деномический размер.

Ku2zoff чтоб тебе было понятнее, как эта штука работает, включи в параное квар r_scissor_glass_debug илм r_scissor_light_debug.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 03-12-2019 в 19:01:

Тупой вопрос: как правильно рисовать спрайты с альфаканалом в худе? Цветные иконки, например, как в DoD. Есть такая функция?


Отправлено thambs 03-12-2019 в 22:10:

p2st

Что значит

Цитата:
CheckWinding: point off plane 0.052804

?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 04-12-2019 в 07:53:

Ku2zoff через триапи рисуй.

Цитата:
thambs писал:
CheckWinding: point off plane 0.052804

ошибки округления.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 04-12-2019 в 11:48:

Цитата:
Дядя Миша писал:
через триапи рисуй.

Ужо разобрался. Через триапи самое то. Универсально для всех разрешений, это во-первых. И куча рендермодов, это во-вторых. Надо только правильно спрайты делать. Пэинт.нет, поганец такой, постоянно портит пол-литру: прозрачный цвет съезжает с индекса 255 на 0 или любой другой. Скачал перацкий фотошоп на время, пока ничего дельного для рисования не найду.


Отправлено Дядя Миша 04-12-2019 в 12:31:

Цитата:
Ku2zoff писал:
Надо только правильно спрайты делать

https://hlfx.ru/forum/showthread.php?s=&threadid=5249

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено JPEG 13-12-2019 в 17:22:

Делаю удар ногой через secondary attack, завёл PLAYER_ATTACK2, чтобы анимация в thirdperson отличалась от основной атаки, вызываю в коде оружия через m_pPlayer->SetAnimation( PLAYER_ATTACK2 );
В самой анимации анимирован удар ногой, но проблема в том, что в игре наследуются секвенция ног от walk, поэтому анимация по-сути проигрывается только для торса, как отключить это для PLAYER_ATTACK2?


C++ Source Code:
1
case PLAYER_ATTACK2:
2
  switch( m_Activity )
3
  {
4
  case ACT_HOVER:
5
    case ACT_SWIM:
6
      case ACT_HOP:
7
        case ACT_LEAP:
8
          case ACT_DIESIMPLE:
9
              m_IdealActivity = m_Activity;
10
            break;
11
          default:
12
              m_IdealActivity = ACT_RANGE_ATTACK2;
13
            break;
14
          }


C++ Source Code:
1
case ACT_RANGE_ATTACK2:
2
  if ( FBitSet( pev->flags, FL_DUCKING ) )	// crouching
3
    strcpy( szAnim, "crouch_shoot2_" );
4
  else
5
    strcpy( szAnim, "ref_shoot2_" );
6
  strcat( szAnim, m_szAnimExtention );
7
  animDesired = LookupSequence( szAnim );
8
  if (animDesired == -1)
9
    animDesired = 0;
10
 
11
if ( pev->sequence != animDesired || !m_fSequenceLoops )
12
{
13
  pev->frame = 0;
14
}
15
 
16
if (!m_fSequenceLoops)
17
{
18
  pev->effects |= EF_NOINTERP;
19
}
20
 
21
m_Activity = m_IdealActivity;
22
 
23
pev->sequence		= animDesired;
24
ResetSequenceInfo( );
25
break;

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))


Отправлено Ku2zoff 13-12-2019 в 18:33:

Yo Den смотри PLAYER_JUMP и ACT_HOP. Там нет гейтсеквенций. Вообще, можешь сделать по-хитрому, и как раз таки сделать пинок гейтсеквенцией.


Отправлено JPEG 15-12-2019 в 13:37:

Цитата:
Ku2zoff писал:
Yo Den смотри PLAYER_JUMP и ACT_HOP. Там нет гейтсеквенций. Вообще, можешь сделать по-хитрому, и как раз таки сделать пинок гейтсеквенцией.

скопипастил оттуда код. Добавил в case PLAYER_WALK:
C++ Source Code:
1
if (m_Activity == ACT_RANGE_ATTACK2)
2
{
3
  m_IdealActivity = m_Activity;
4
}
5
else
6
{
7
  m_IdealActivity = ACT_WALK;
8
}


После воспроизведения ACT_RANGE_ATTACK2 игрок остаётся висеть на последнем кадре анимации, пока не пойду вперед/подпрыгну/ударю. В случае прыжка анимация сменялась при касании земли, а тут как сделать, чтобы она прекращалась после воспроизведения?

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))


Временная зона GMT. Текущее время 14:57. Страницы (264): « Первая ... « 132 133 134 135 [136] 137 138 139 140 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024