HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT/3D [Вопросы и ответы] 2 голосов
Страницы (52): « Первая ... « 44 45 46 47 [48] 49 50 51 52 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Aynekko писал:
Поставил vec3 L = normalize( var_Normal ) вместо vec3 L = normalize( u_LightDir.xyz )

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 205316

Старое сообщение 17-11-2021 12:22
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
vec3 L = normalize( u_LightDir.xyz )

Вот это так-то тоже

Сообщить модератору | | IP: Записан
Сообщение: 205318

Старое сообщение 17-11-2021 12:50
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Да я как бы и не спорю, я так вообще слабо в этом понимаю, но результат

Добавлено 17-11-2021 в 16:41:

Вообще да. Фонарик починился, а вот обычный env_dynlight так и не освещает эту модель.

[ Вложение ]
Безымянный.jpg

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205320

Старое сообщение 17-11-2021 13:41
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Цитата:
Aynekko писал:
а вот обычный env_dynlight так и не освещает эту модель.

Динлайт точно так же починился заменой L с LightDir на Normal. Я хз как это работает. Может изначально что-то было перепутано. Сейчас все нормально освещается за исключением слишком маленьких или слишком больших моделей. И с этими странными моделями проблем тоже не стало.

P.S. и не надо фейспалмить. Сам не доделал, вот и приходится чинить по мере своих сил. Я больше маппер, нежели кодер. Меня вся это возня за пределами моего мода не особо интересует. Просто у себя хочется сделать хорошо. Люди играли и репортили, что модели не освещаются как надо. Значит надо фиксить.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205331

Старое сообщение 17-11-2021 21:37
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



С какой целью у прожектора выставлено это?

C++ Source Code:
pl->frustum.DisablePlane( FRUSTUM_FAR ); // only use plane.normal

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205711

Старое сообщение 05-12-2021 17:45
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Цитата:
Aynekko писал:
Теперь пытаюсь разобраться со скейлом моделей (их освещения фонариком)

Продолжаю банкет. Думаю, пока его не починю, не смогу успокоиться. Но пока увы.
Так вот. Вчера я перенес из паранои успешно тени от точечных источников. И выяснилось вот что. Когда у моделей скейл отличный от 1, проекция теней на них съедет (причем от обычного прожектора все норм).
Но самое интересное - не учитывается поворот модели (angles). Если модель повернута на 45 градусов, то тень от игрока не ней отбросится, только если игрок продвинется на 45 градусов дальше по радиусу источника.

Сколько в параною не смотрю, так и не врублюсь чего же не хватает. Rotationmatrix вроде правильно строится. Самое главное отличие, что все эти lightdir, modelorg пишутся через vectoritranform, а не напрямую. Зачем - не понимаю. Переписать как в параное, тогда все вообще ломается.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205951

Старое сообщение 15-12-2021 05:35
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Пишу здесь, т.к. тут по теме, а там затеряется. Алилуя. Кажется, лайты практически починились.
Вот скрины. Модель одна и та же, скейл 0.2, 1.0 и 16.0.
Динлайт: http://aynekko.pw/temp/test1.jpg
Фонарик: http://aynekko.pw/temp/test2.jpg
Решилось вот так:

C++ Source Code:
var_LightVec = ( u_LightOrigin.xyz - worldpos.xyz ) * MeshScale;

Самое забавное, что я раньше это уже делал, но тогда не было обратной матрицы.

Осталась одна-единственная проблема. Тени от точечных источников. Они не учитывают точно так же скейл и поворот модели. Напомню, как считаются:
C++ Source Code:
shadow = ShadowOmni( -var_LightVec, u_ShadowParams );

где из u_ShadowParams используются только компоненты z и w, которые в свою очередь равны
C++ Source Code:
-pl->projectionMatrix[2][2], pl->projectionMatrix[3][2]

Т.к. в параное точно так же, я предполагаю, что эту проекцию нужно тоже развернуть в координаты модели…а как?

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206120

Старое сообщение 21-12-2021 13:55
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Это не решение, а загон проблемы еще глубже.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 206125

Старое сообщение 21-12-2021 15:33
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



А внешне выглядит вроде как надо

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206128

Старое сообщение 21-12-2021 15:38
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Начнём с того, что var_LightVec вообще должен быть еденичным.
А ты его зачем-то наоборот удлиняешь.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 206129

Старое сообщение 21-12-2021 16:04
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Понятно. Этого я не знал, да и не мог знать. Ну, я еще поковыряюсь дальше, чтобы хоть к чему-то привести, а потом быть может твоего фикса дождусь.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206130

Старое сообщение 21-12-2021 16:07
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Начнём с того, что var_LightVec вообще должен быть еденичным.

не должен, из него затухание вычисляется

Сообщить модератору | | IP: Записан
Сообщение: 206131

Старое сообщение 21-12-2021 16:10
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Я тут обратил внимание, что в оригинале в шейдере у меня

C++ Source Code:
var_LightVec = ( u_LightOrigin.xyz - position.xyz );

Т.е. в локальном пространстве. А вот u_LightOrigin в коде
C++ Source Code:
Vector lightorg = m_pModelInstance->m_protationmatrix.VectorITransform( pl->origin );

Я там выше сказал - есть две проблемы. Первая в том, что m_plightmatrix нужно проинициализировать с инверсным скейлом, а вторая, что преобразования в локальное пространство (т.е. такие где используется буква I - VectorITransform, VectorIRotate выполнить при помощи m_plightmatrix).
Разумеется, я предполагал, что у тебя шейдеры оригинальные.
И тут я вижу, что у тебя что?
C++ Source Code:
var_LightVec = ( u_LightOrigin.xyz - worldpos.xyz ) * MeshScale;

worldpos!!! Откуда он там нахрен взялся? Это Психопат тебе посоветовал?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 206135

Старое сообщение 21-12-2021 18:03
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



var_LightVec единичный что ли?

Добавлено 21-12-2021 в 21:13:

C++ Source Code:
var_LightVec = ( u_LightOrigin.xyz - worldpos.xyz );

было в паранойе, если что

Сообщить модератору | | IP: Записан
Сообщение: 206136

Старое сообщение 21-12-2021 18:13
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
worldpos

А, это я вчера баловался глядя на параною. Психопат не причем. Потом понял, что там просто "подмена понятий", а по факту перестановки не было. Просто запись была по-другому.
Сейчас вернул шейдер обратно, перепроверил. Единственное изменение на данный момент в этом шейдере:
C++ Source Code:
float MeshScale = u_MeshScale;
var_LightVec = ( u_LightOrigin.xyz - position.xyz ) * MeshScale;

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206137

Старое сообщение 21-12-2021 18:14
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 23:09. Новая тема    Ответить
Страницы (52): « Первая ... « 44 45 46 47 [48] 49 50 51 52 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT/3D [Вопросы и ответы] 2 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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