24
FEB
Реалистичный снаряд
Кучу времени убил на это, страдая всякой ерундой, пытался раза 4 поискать в инете хоть какие-нибудь наработки, но видимо плохо ищу
В общем, как сделать снаряд, который игнорил бы впадины, ускорялся/замедлялся в зависимости от дуги и поворачивал бы свой носик на нужный градус (SetUnitLookAt)?
Может у кого есть наработка или ссылка?
upd я пока не в состоянии разобрать вектор и буду очень благодарен, если ответ будет через хэш-таблицу
1.26а
В общем, как сделать снаряд, который игнорил бы впадины, ускорялся/замедлялся в зависимости от дуги и поворачивал бы свой носик на нужный градус (SetUnitLookAt)?
Может у кого есть наработка или ссылка?
upd я пока не в состоянии разобрать вектор и буду очень благодарен, если ответ будет через хэш-таблицу
1.26а
Лучший ответ:
Нужен мемхак или рефордж, чтобы поворачивать эффект по всем направлениям Yaw, Pitch, Roll
Всё остальное костыли 2005 года, оставьте их там же
(я про ту самую модель даммики с 360 анимациями для всех поворотов)
И разумеется 100% делать через эффект, никак юнитов
Всё остальное костыли 2005 года, оставьте их там же
(я про ту самую модель даммики с 360 анимациями для всех поворотов)
И разумеется 100% делать через эффект, никак юнитов
Тоже самое возможно на 126, 127, 128, просто возьмите это
Views: 115
Like +0
- 0
Bergi_Bear
Bergi_Bear
Блог
Проекты:
WarCraft 3 Reforged
Robot Defense
Наследие Альянса
Гильдия «Черамор»
TcX
XGM Staff
Альфа тест
WarMake
Всё остальное костыли 2005 года, оставьте их там же
(я про ту самую модель даммики с 360 анимациями для всех поворотов)
И разумеется 100% делать через эффект, никак юнитов
https://xgm.guru/p/wc3/missile-lua
prog
prog
Блог
Проекты:
StarCraft 2
XGM Bot
XGM Bot
Bergi_Bear
Bergi_Bear
Блог
Проекты:
WarCraft 3 Reforged
Robot Defense
Наследие Альянса
Гильдия «Черамор»
TcX
XGM Staff
Альфа тест
WarMake
Всё остальное костыли 2005 года, оставьте их там же
(я про ту самую модель даммики с 360 анимациями для всех поворотов)
И разумеется 100% делать через эффект, никак юнитов
https://xgm.guru/p/wc3/missile-lua
rsfghd
rsfghd
Блог
Если я вектор не могу понять, то какой там мемхак, а рефа у меня соответственно тоже нет и вряд ли будет
Bergi_Bear
Bergi_Bear
Блог
Проекты:
WarCraft 3 Reforged
Robot Defense
Наследие Альянса
Гильдия «Черамор»
TcX
XGM Staff
Альфа тест
WarMake
Забабахай 2 вместо одной
SetEffectFacing(missile,angle)
SetEffectPitch(missile,zAngle)
Только 1 самый важный момент - Назар вроде как в радианах работал, а функции мемхака берут угол, но это уже проще
rsfghd
rsfghd
Блог
Bergi_Bear
Bergi_Bear
Блог
Проекты:
WarCraft 3 Reforged
Robot Defense
Наследие Альянса
Гильдия «Черамор»
TcX
XGM Staff
Альфа тест
WarMake
rsfghd
rsfghd
Блог
Это из-за cjass'a что ли?
Вот даже отключил свои триггеры, снова сохранил и всё норм
Карта хоть и сохраняется без ошибок при отключении триггеров, но запустить по прежнему нельзя, в главное меню кидает. Удаление триггеров так же не помогло, хотя я ничего не трогал больше
Bergi_Bear
Bergi_Bear
Блог
Проекты:
WarCraft 3 Reforged
Robot Defense
Наследие Альянса
Гильдия «Черамор»
TcX
XGM Staff
Альфа тест
WarMake
МрачныйВорон
МрачныйВорон
Блог
Проекты:
rsfghd
rsfghd
Блог
Ошибка с блоком была из-за отключённого AdicParser'a, но в мемхаке включить его низя, иначе другая ерунда вылезет
МрачныйВорон, пасиб большое, теперь хоть через впадины нормально перелетает)
Однако мне всё равно интересно как замедлить/ускорить снаряд до/от середины полёта и можно ли как-нибудь эту силу прикрутить к параболе?
МрачныйВорон
МрачныйВорон
Блог
Проекты:
Раскладываем скорость на векторы:
Vx=1,Vy=1,Vz=1 - изначально скорость нулевая, тк ракета еще не вылетела. Когда мы запустим, наша скорость будет равна 1. Скорости придает ускорение.
a=0 - ускорение. Изначально оно равно нулю, таймером каждую секунду увеличиваем наше ускорение. Когда снаряд достигнет середины дуги, или половины пройденного пути, тогда уже наше ускорение превращается в понижение. Будет постепенно понижаться до нуля.
изменяем нашу скорость. Вот здесь я не уверен. Надо самому потестить, устал. Но взял из учебников физики. av-physics.narod.ru/mechanics/acceleration.htm простенькая формула.
черт, забыл углы. ведь координаты, а тут углы. забыл относительно чего углы брать.Углы надеюсь сможешь понять как, а то лень через арккосинусScopteRectuS
ScopteRectuS
Блог
rsfghd
rsfghd
Блог
ScopteRectuS
ScopteRectuS
Блог
quq_CCCP
quq_CCCP
Проекты:
МрачныйВорон
МрачныйВорон
Блог
Проекты:
Ux,Uy,Uz - тек точка
Tx,Ty,Tz - конечная точка, куда должен прилететь снаряд
dx = Ux-Tx
dy = Uy-Ty
dz = Uz-Tz
theta = Atan2(SquareRoot(dx*dx + dy*dy), dz)
phi = Atan2(dy/dx)
R - расстояние между тек точкой снаряда и серединой маршрута
L - это расстояние от начала движения до конечного
a = R/(L/2) - вот процент ускорения (от 1 до 0). чем ближе ваша точка находится к центру дуги или середины маршрута, тем ниже процент a. В центре дуги ускорения не останется (a=0). и она начнет убывать (a<0 - типа под гравитацией). когда долетает до середины дуги. мы меняем знак наверное? и надо делать со счетчиком времени t, типа убывать, а то обратно будет удвоенно понижать.
Вопрос: что делать дальше? после центра дуги параболы? Ведь нужно, чтобы скорость понижалась, ведь в центре дуги достигла макс скорости. Теперь она должна понижаться по формуле: U = U0 - at
Вторая проблема - это счетчик времени t, если продолжит дальше увеличиваться, то это сильно повлияет на скорость. Я не знаю точного ответа, надо тестить. надо простенький пример какой-то провести, чтоб проверить. Ведь счетчик времени является множителем, очень сильно торможение будет, так и не долетит до цели. Возможно стоит убавлять счетчик или обнулить.
rsfghd
rsfghd
Блог
quq_CCCP, мне нужно будет манипулировать снарядом как мне угодно
МрачныйВорон, я именно так и пробовал, но благодаря тебе я сейчас понял где допускал ошибку каждый раз, теперь я поправил это, спасибо)
ещё раз поблагодарю Ворона)
МрачныйВорон
МрачныйВорон
Блог
Проекты:
PT153
PT153
Блог
Проекты:
Wisp TD
prog
prog
Блог
Проекты:
StarCraft 2
PT153
PT153
Блог
Проекты:
Wisp TD
МрачныйВорон
МрачныйВорон
Блог
Проекты:
prog
prog
Блог
Проекты:
StarCraft 2
rsfghd
rsfghd
Блог