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)
Отправлено Shapirlic 20-07-2025 в 12:02:
Я получаю приблизительные результаты если беру такие коодинаты для лайтмапы
C++ Source Code:
gl.glMultiTexCoord2fARB(GL_TEXTURE0_ARB, v[5] * 3.f * M_PI, v[6] * 3.f * M_PI); |
Но в местах со сложным освещением видно, что лайтмапы плохо стыкуются.
Нужно как то иначе обработать v[5] и v[6], с этим вопросом я сюда и пришёл к вам )
Отправлено Дядя Миша 20-07-2025 в 16:56:
Цитата:
Ku2zoff писал:
А, нет. У китайца по-моему текстура модифицировалась, и вшивалась прям в бсп. Точно не помню.
Всё верно. Освещение полупрозрачных поверхностей нетривиальная задача, поэтому либо через мультипроходность (как в Quake3), либо через копию экрана (как в Paranoia 2:Savior), либо предумножить лайтмапу на диффузку и сохранить результат в особую диффузку, вкомпиленную прямо внутрь карты и используемую только на этой поверхности (как в VHLT).
Цитата:
Shapirlic писал:
Лайтмапа на мировой воде есть даже в оригинальных картах HalfLife
Ну в оригинале может и есть, а в ZHLT вроде бы это отключали, оптимизация типо. Лайтмапы экономили.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Shapirlic 20-07-2025 в 18:50:
Окай, в ZHLT экономили, оригинальный компилятор и Vluzacn_s_ZHLT на воде лайтмапы делают, у меня вопрос с самого начала по текстурным координатам этих лайтмап. BSPGUY и BSPViewer могут мировую воду рендерить с лайтмапой, я в их сорцах покопался, но так и не понял как они высчитывают текстурные координаты для лайтмап мировой воды. И с этим пришёл к вам, у вас есть идеи или догадки? Как я уже писал выше v[5] и v[6] в verts сурфов воды похожи на текстурные координаты лайтмапы, но деленные на 9-10. Есть догадки какая математика там скрывается?
Отправлено Ku2zoff 21-07-2025 в 16:22:
Цитата:
Дядя Миша писал:
предумножить лайтмапу на диффузку и сохранить результат в особую диффузку, вкомпиленную прямо внутрь карты и используемую только на этой поверхности (как в VHLT).
В паранойевских тулзах это вырезано? Смутно припоминаю, что когда-то давно, году в 2020-м, видел разницу после китайца. После этого долго не мапал места, где такое всплывает, поэтому спрашиваю.
Отправлено Crystallize 25-07-2025 в 17:49:
Цитата:
XaeroX писал:
Хм, я сколько с тобой общаюсь, мне кажется, что ты шутишь как минимум в половине постов. может быть, я ошибался все эти долгие годы
Я не знаю о чем именно речь... Я попытался адаптировать под себя ваши с ДМ перестроечные и еврейские шутки чтобы выстроить некую минимальную психологическую оборону чтобы не было так больно когда я вам проигрываю, а проигрываю я каждый раз когда кто-то не согласен со мной по вопросу типа светотекстура это лазер или нет, то есть в подавляющем большинстве постов. И это на глазах у всего форума (хотя тут уже и нет столько народу).
До сих пор помню друган прокомментировал что меня "раскатали в комментариях" под моими статьями 2015 года про графику, хотя сейчас уже никто не вспомнит и не найдет их без меня.
Может это эгоизм или нарциссизм или хз что вообще. В принципе это началось ещё с 2014 когда у тебя и половины форума внезапно обнаружились политические суждения, появился Мастер (о существовании которого я и не подозревал) и вся эта политика начала нападать на мои установки заложенные ещё где-то в дошкольном возрасте, о том что кооперация лучше конкуренции и о том что любой человек тебя полюбит если ты хороший мальчик.
Отправлено XaeroX 26-07-2025 в 04:34:
Цитата:
Crystallize писал:
чтобы не было так больно когда я вам проигрываю, а проигрываю я каждый раз когда кто-то не согласен со мной по вопросу типа светотекстура это лазер или нет, то есть в подавляющем большинстве постов.
Ну вот опять - ты же это в шутку пишешь, не всерьёз? Какие ещё проигрыши? Ты же вроде к нам учиться приходишь, а не в интеллектуальные игры играть?
Цитата:
Crystallize писал:
у тебя и половины форума внезапно обнаружились политические суждения
Политические темы были всегда, даже во времена хлру. Справедливости ради, я в них участвовать не любил, т.к. считал это пустой тратой своего времени, мол, зачем спорить об очевидном? Но после 2014 меня слегка бомбануло, потому что непризнание очевидного начало постепенно приводить к трагическим последствиям.
Цитата:
Crystallize писал:
появился Мастер
Мастер, опять же, был ещё на хлру. Тогда он писал исключительно транслитом и косил под эмигранта. Я тогда был уверен, что Мастер живёт где-нибудь в Штатах. Каково же было моё изумление, когда я узнал, что он из Москвы? Но мы в итоге его таки отучили транслитом писать. 
Цитата:
Crystallize писал:
кооперация лучше конкуренции
Это как? Когда все товарищи в едином порыве - пятилетку в четыре года?
Цитата:
Crystallize писал:
любой человек тебя полюбит если ты хороший мальчик
Не хороший мальчик, а червонец!__________________
Отправлено Дядя Миша 26-07-2025 в 07:14:
Цитата:
Ku2zoff писал:
В паранойевских тулзах это вырезано?
Параноевские тулзы основаны на оригинальном вальвовском коде компиляторов. Там этого не было. Как можно вырезать то, чего не было изначально?
Цитата:
Crystallize писал:
когда кто-то не согласен со мной по вопросу типа светотекстура это лазер или нет
Ну была такая текстура "laser" действительно. Но она не использовалась.
Цитата:
Crystallize писал:
До сих пор помню друган прокомментировал что меня "раскатали в комментариях" под моими статьями 2015 года про графику
а что за статьи?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено JPEG 15-08-2025 в 12:37:
Такой нубский вопрос. Вот код, каждую 0.1 секунду субмодель сменяется на следующую по порядку. И нужно это зациклить
if (m_flChangeBodyTime && gpGlobals->time > m_flChangeBodyTime)
{
pev->body = pev->body + 1; //следующая субмодель
m_flChangeBodyTime = gpGlobals->time + 0.1;
if (pev->body == Количество Субмоделей)
pev->body = 0; //начинаем сначала
}
А как на сервере узнать количество субмоделей в модели? Что вставить в "Количество Субмоделей"?
__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))
Отправлено Ku2zoff 15-08-2025 в 15:43:
C++ Source Code:
7 | int modelindex; // index into models array |
Предполагаю, что nummodels. Пример использования в SetBodygroup/GetBodygroup.
Отправлено Дядя Миша 16-08-2025 в 05:55:
Цитата:
Ku2zoff писал:
Предполагаю, что nummodels.
Если кол-во всех вариаций, то по формуле вычисляется.
Есть функция MODEL_FRAMES или чёт такое. Вот она возвращает.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 16-08-2025 в 18:36:
Дядя Миша точно. MODEL_FRAMES не только для спрайтов работает. Совсем об этом забыл.
JPEG глянь код цыклер_спрайта. Он же как раз анимируется нужным тебе образом. Весь твой код там уже есть, только в другой форме.
Добавлено 17-08-2025 в 01:36:
Не знаю, как оно будет работать с моделями, в которых несколько бодигрупп, возможно, придётся считать по формуле из SetBodygroup. Для моделей с одной бодигруппой всё работает, цыклеру можно подсовывать не только спрайты, но и студиомодели. Такое я и сам делал, и в кс много раз делали мапперы. Цыклеры анимируются.
Отправлено Дядя Миша 17-08-2025 в 06:26:
Цитата:
Ku2zoff писал:
Не знаю, как оно будет работать с моделями, в которых несколько бодигрупп
Вернёт общее кол-во всех вариаций для всех бодигрупп.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено JPEG 17-08-2025 в 10:16:
ещё у Гарга в TASK_DIE похожий код нашёл, попробую приспособить
Добавлено 17-08-2025 в 13:16:
да, всё отлично, спасибо. Использовал m_maxFrame = (float) MODEL_FRAMES( pev->modelindex ) - 1; от сайклер спрайта
__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))
Отправлено JPEG 18-08-2025 в 10:07:
Допустим, на примере зомби. Как сделать, чтобы после того, как он нанёс удары, он на несколько секунд переключался на отступление (а не ударял игрока до победного)? К примеру, чтобы для этого проигралась заранее готовая анимация ходьбы инвертированная в обратную сторону (чтобы пятился) или чтобы он сам осуществил движение в случайную/противоположенную сторону (но тут уже автоматом развернётся в сторону движения)
__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))
Отправлено Дядя Миша 19-08-2025 в 05:10:
Цитата:
JPEG писал:
К примеру, чтобы для этого проигралась заранее готовая анимация ходьбы инвертированная в обратную сторону (чтобы пятился) или чтобы он сам осуществил движение в случайную/противоположенную сторону (но тут уже автоматом развернётся в сторону движения)
Сложна-сложна.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'