Суббота, 20.04.2024, 12:55
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 10 из 10
  • «
  • 1
  • 2
  • 8
  • 9
  • 10
Форум » Игры серии ГТА » Скриптинг » Математические и механические задачи в GTA (Применение знаний математики и механики в моддинге)
Математические и механические задачи в GTA
AlekseyДата: Суббота, 05.01.2013, 12:19 | Сообщение # 136
Группа: Пользователи
Сообщений: 3
Статус: Offline
Давайте ещё вопросики!

Геймдевелопер пришёл )
 
BoPoHДата: Четверг, 25.07.2013, 00:14 | Сообщение # 137
Группа: Проверенные
Сообщений: 53
Статус: Offline
Aleksey, не по теме, но MaxScript знаешь?

Добавлено (25.07.2013, 00:14)
---------------------------------------------
Имеется:
Вектор "Top" камеры, позиция камеры, точка в 3D-пространстве.

Вопрос:
Как вычислить положение этой точки на экране не применяя никаких игровых функций? Нужно для SA-MP сервера, поэтому нельзя использовать игровые функции.

P.S. Если идей нет - не беда, решу проблему другим способом. Просто я видел такой инклюд для Pawno когда-то давно. Теперь найти его не могу sad


First-Person mode 85% done
Добро всегда побеждает зло. Кто победил, тот и добрый!



Сообщение отредактировал BoPoH - Четверг, 25.07.2013, 00:16
 
Den_spbДата: Пятница, 26.07.2013, 07:08 | Сообщение # 138
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата (BoPoH)
Как вычислить положение этой точки на экране не применяя никаких игровых функций?

Через подобные треугольники, как показано на схеме. Угол обзора камеры можно найти опытным путём.
Прикрепления: 0856905.png (15.0 Kb)
 
BoPoHДата: Пятница, 30.08.2013, 16:17 | Сообщение # 139
Группа: Проверенные
Сообщений: 53
Статус: Offline
Den_spb, и правда. Как-то сразу не подумал об этом. Спасибо smile

First-Person mode 85% done
Добро всегда побеждает зло. Кто победил, тот и добрый!

 
RecoilДата: Воскресенье, 08.01.2023, 13:36 | Сообщение # 140
Группа: Проверенные
Сообщений: 12
Статус: Offline
Папа у Васи силен в математике..Стал в базе постоянно натыкаться на подобные формулы.
Например,  для серчлайта вертолета  в  CHeli
float searchLightDist = (CVector2D(m_fSearchLightX, m_fSearchLightY) - GetPosition()).Magnitude();
if
(searchLightDist > 60.0f)
m_fSearchLightIntensity = 0.0f; можно конечно тут просто поставить m_fSearchLightIntensity = 0.8f
else if
(searchLightDist < 40.0f)
m_fSearchLightIntensity = 1.0f;
else
m_fSearchLightIntensity = 1.0f - (40.0f - searchLightDist) / (60.0f-40.0f)

Но хочется дистанцию менять, если поставить вместо 60.0 (0x6C73E1) 120.0, а вместо 40.0 (0x6C7425) 100.0 это работает, но появляется баг, в момент появления вертолета на короткий миг появляется серчлайт, а потом пропадает и появляется вновь уже согласно (searchLightDist > 120.0f).

Сама корона сделана с  запасом и включается при появлении серчлайта 0x6C5AE9 200.0 4

Также обратил внимание, что во многих скриптах  Junior_Djjr  часто пасует в математике, он не асилил CRubbish для Вайс Сити, там формула
alpha -= alpha*(camDist-RUBBISH_FADE_DIST)/(RUBBISH_MAX_DIST-RUBBISH_FADE_DIST)

не получается увеличить дальность появления и удаления мусора: листьев, газет.

как известно Пашков отключил light square в Вайсе, все уже привыкли, что параметр выключен, а ведь без них тачки далече фигово выглядят, как без фар, за альфу кубиков фар вблизи отвечает
.text:00571CC9 C6 44 24 08 1F                          mov     byte ptr [esp+40h+var_38], 1Fh

те самые bright lights не только для светофоров, но и для кубиков авто, как я понял эта формула отвечает за альфу вдалеке

#define BRIGHTLIGHTS_MAX_DIST (60.0f) // invisible beyond this
#define BRIGHTLIGHTS_FADE_DIST (45.0f) // strongest between these two
#define CARLIGHTS_MAX_DIST (30.0f)
#define CARLIGHTS_FADE_DIST (15.0f) // 31 for close lights

a = 255*(1.0f - (aBrightLights.m_camDist-BRIGHTLIGHTS_FADE_DIST)/(BRIGHTLIGHTS_MAX_DIST-BRIGHTLIGHTS_FADE_DIST));

а эта вблизи

a = 31 + (255-31)*((aBrightLights
.m_camDist-CARLIGHTS_FADE_DIST)/(CARLIGHTS_MAX_DIST-CARLIGHTS_FADE_DIST));

Я смутно понимаю как это работает, особенно для Rubbish? Как правильно менять параметры в этих формулах, чтобы не было багов.
Есть такой скрипт для СА Enhance ParticleTXD (Junior_Djjr)
, в этом  Enhance ParticleTXD Джуниор наложал с математикой, отраженные от асфальта короны стопарей, естественно и сами короны, при удалении авто пропадают, потом вновь появляются, я думал это баг игры, думал даже из Вайса переносить, ан нет, это просто Джуниор лажанул.
Всем уже все равно?
Если не трудно поделитесь инфой, если такая есть.


Сообщение отредактировал Recoil - Воскресенье, 08.01.2023, 13:51
 
Den_spbДата: Воскресенье, 08.01.2023, 18:22 | Сообщение # 141
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата Recoil ()
Но хочется дистанцию менять, если поставить вместо 60.0 (0x6C73E1) 120.0, а вместо 40.0 (0x6C7425) 100.0 это работает, но появляется баг, в момент появления вертолета на короткий миг появляется серчлайт, а потом пропадает и появляется вновь уже согласно (searchLightDist > 120.0f).
В игре не бывает багов, бывают неожиданные эффекты от того, что кто-то чего-то не учел. Надо посмотреть все функции, вызывающие функцию создания прожектора. Возможно в момент создания вертолета вызывается одна функция, а потом другая. Ты изменил значение только во второй, а в первой - нет (это как одна из возможных версий).

Цитата Recoil ()
Как правильно менять параметры в этих формулах, чтобы не было багов.
Чтобы не было "багов", надо четко понимать что и зачем меняешь, разобраться сначала в смысле вычислений.

Цитата Recoil ()
Всем уже все равно?
У меня базы для VC нет, не работаю с этой игрой, поэтому помочь не смогу.
 
Форум » Игры серии ГТА » Скриптинг » Математические и механические задачи в GTA (Применение знаний математики и механики в моддинге)
  • Страница 10 из 10
  • «
  • 1
  • 2
  • 8
  • 9
  • 10
Поиск: