HLFX.Ru Forum Страницы (264): « Первая ... « 158 159 160 161 [162] 163 164 165 166 » ... Последняя »
Показать все 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)


Отправлено Дядя Миша 29-07-2020 в 18:24:

По Сорсу специалисты еще остались?
В первой халфе как известно эти магические числа intensity^3 * 0.1 для освещённости. В сорсе это дерьмо, понятно выбросили. Можно ли там воспроизвести тот же радиус, что и в голдсорсе и какие параметры надо вбивать в настройки лайта?

__________________
My Projects: download page

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

Цитата:

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


Отправлено JPEG 31-07-2020 в 19:16:

хочу сделать спрайтового монстра, допустим пока из двух анимаций - стоит на месте и идёт. Т.е. два спрайта сменяющих друг-друга в зависимости от таска.

Пример с одним спрайтом: https://youtu.be/alD70JTA91k



В спавн написал

C++ Source Code:
1
m_p2dNpcIdle = CSprite::SpriteCreate( "sprites/agrunt-idle.spr", pev->origin, TRUE );
2
 
3
m_p2dNpcIdle->SetTransparency( kRenderTransTexture, 255, 255, 255, 255, kRenderFxNoDissipation );
4
m_p2dNpcIdle->SetAttachment( edict(), pev->body );
5
m_p2dNpcIdle->SetScale( 1.0 );
6
m_p2dNpcIdle->pev->framerate = 10.0;
7
m_p2dNpcIdle->TurnOn( );


А как сделать смену анимации, не знаю.
Если, например, прописать в void CHGrunt :: RunTask ( Task_t *pTask )

UTIL_Remove( m_p2dNpcIdle );
m_p2dNpcIdle = NULL;
для удаления старой анимации

и создать новую через аналогичную
m_p2dNpcRun = CSprite::SpriteCreate( "sprites/agrunt-run.spr" в ран-таске, а в спавне соответственно также занулить анимацию бега, то там всё видимо зацикливается и не работает, как это можно правильно реализовать?

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


Отправлено Дядя Миша 31-07-2020 в 19:32:

У спрайта есть групповые кадры, т.е. 1 кадр - полноценная анимация, но помоему они не работают в голдсорсе.

Добавлено 31-07-2020 в 22:32:

Да и монстру ты модельку спрайтом никак не заменишь, поскольку AI опирается на эвенты в анимации, а у спрайта их нет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено JPEG 31-07-2020 в 19:46:

Цитата:
Дядя Миша писал:
У спрайта есть групповые кадры, т.е. 1 кадр - полноценная анимация, но помоему они не работают в голдсорсе.

Добавлено 31-07-2020 в 22:32:

Да и монстру ты модельку спрайтом никак не заменишь, поскольку AI опирается на эвенты в анимации, а у спрайта их нет.

так моделька есть, она просто невидимая, а спрайт атачится к ней

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


Отправлено Eljeyna 13-08-2020 в 07:57:

Возможно, подниму древний вопрос, но копаюсь в исходниках совсем недавно и хочу спросить про замедление игрока, когда тот активирует эвент "+use" или, проще говоря, нажимает на "Использовать" (дефолт E). Пробовал убирать флаг и пропуск функции PlayerUse, но ничего не дало – видимо, не там копаю.

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

XashXT 0.82 rev 2 + Half-Life 1

__________________
El. Psy. Kongroo.


Отправлено Дядя Миша 13-08-2020 в 08:28:

Что-то такое в playermove.cpp

C++ Source Code:
1
// Slow down, I'm pulling it! (a box maybe) but only when I'm standing on ground
2
if ( ( pmove->onground != -1 ) && ( pmove->cmd.buttons & IN_USE) )
3
{
4
  VectorScale( pmove->velocity, 0.3, pmove->velocity );
5
}

Это из оригинального SDK. Но комментарий должен остаться таким же.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Eljeyna 13-08-2020 в 08:43:

Дядя Миша, моя благодарность)
Проверил, все работает.

__________________
El. Psy. Kongroo.


Отправлено Aynekko 29-08-2020 в 12:26:

Хочу сделать кастомного гранта с размером 1.15. Все получилось, но есть вопрос. В спауне я задал pev->scale 1.15, так же поменял hull'ы в 1.15 раз. Грант действительно стал больше, как и надо, но хитбокс остался таким же. На уровне носа попадаю, на уровне глаз уже пули сквозь летят. Мне подсказали, что проще отскейлить саму модель - это в общем-то помогло, но можно ли это сделать кодом?


Отправлено Дядя Миша 29-08-2020 в 13:13:

Со скейлом физики там помоему остались проблемы. Лучше саму модельку увеличить - надёжнее.

__________________
My Projects: download page

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

Цитата:

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


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

Цитата:
Aynekko писал:
но хитбокс остался таким же.

Потому что в серверном студиомодельрендерере (внутри движка) то ли нет вообще поддержки скейла, то ли она неправильно работает, как подметил ДМ. Проблему может решить использование функции SV_StudioSetupBones. Можешь дёрнуть её из сорцев ReGameDLL. По крайней мере, тебе будет доступен весь нужный функционал по работе с моделями из серверной дллки.


Отправлено Дядя Миша 29-08-2020 в 16:37:

Цитата:
Ku2zoff писал:
Проблему может решить использование функции SV_StudioSetupBones.

она и так есть в ксаш-моде.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 30-08-2020 в 07:27:

Всем доброго дня. Ткните пожалуйста носом, как быстро заменить текстуру на свою собственную. Достаточно ли просто подменить gl_texturenum, или же как в Паранойе порядок действий такой:

1. Пробегаемся по сурфейсам (msurface_t).
2. Находим текстуру сурфейса (texture_t).
3. Подменяем её на загруженную извне с помощью Bind2DTexture.


Отправлено Дядя Миша 30-08-2020 в 11:03:

Пробегаемся по model->textures.
Находим текстуру, которую хотим заменить.
Биндим gl_texturenum
Вызываем glTexImage2D, грузим новые данные.
Сделать это надо один раз при загрузке. Ну если монитор, тогда каждый кадр через самбимидж или как-то еще.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 30-08-2020 в 15:12:

Я обошёлся самым простым вариантом:

C++ Source Code:
surf[i].texinfo->texture->gl_texturenum = texture;
где texture - результат
C++ Source Code:
glBindTexture(GL_TEXTURE_2D, texture);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, ScreenWidth, ScreenHeight, 0);
Если хочется иметь в игре мониторы с разным соотношением сторон, чтобы картинку в них не плющило, получается нужно задавать соответствующее соотношение сторон для вьпорта, откуда берётся текстура-картинка. А текстуру-монитор натягивать на браш в скейле 1:1. Это такое моё предположение. А как картинку правильно повернуть, чтобы она не была вверх ногами или слева направо, не извращаясь с поворотами текстуры на браше?

Добавлено 30-08-2020 в 22:12:

Чтобы не было путаницы, объясню: первая задача - сделать брашевые мониторы. Вторая - подгрузка внешних полноцветных текстур. Благо, искать ничего нигде не надо, Gigapixel AI неплохо справляется с апскейлом. И третья, необязательная - рисование скайбокса при "убитых" фейсах неба.


Отправлено Дядя Миша 30-08-2020 в 16:46:

а texture чему равен?

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 17:53. Страницы (264): « Первая ... « 158 159 160 161 [162] 163 164 165 166 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

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