Arisu Posted March 20, 2011 Posted March 20, 2011 теперь вот еще какая проблема. у меня есть координаты машины (x, y, z) и ее вращения (x, y, z). Нужно запустить ракету от машины, чтобы она летела строго вперед. С параметрами функции createProjectile разобраться не могу, всё что могу получить от ракеты через getElementVelocity, getElementRotation от ракеты, запущенной из базуки - тоже ни о чем не говорит. какие-то вообще несвязные числа.
MX_Master Posted March 20, 2011 Posted March 20, 2011 А из какой точки относительно транспорта будет вылетать ракета? из бампера, с крыши? Если точка будет внутри транспорта, то ничего не вылетит, я к этому клоню. Допустим rotX, rotY, rotZ это углы транспорта. Параметры velX, velY, velZ этой функции нужно пропорционально связать с углами транспорта. Чтобы пустить ракету по направлению транспорта, у velY значение должно быть чуть больше. local velX, velY, velZ = rotZ / 720, rotY / 720 + 0.1, rotZ / 720 но это теоритически Углы наклона ракеты могут совпадать с rotX, rotY, rotZ транспорта, а могут и не совпадать. Ради теста можно просто подставить их. В любом случае, еси не подходят, то там минимальная поправка. Точка старта ракеты - для теста мона взять просто над транспортом в паре метров. Силу вылета можно поставить средней, например 1. -- vehicle это какой-то транспорт -- узнаем данные транспорта local posX, posY, posZ = getElementPosition(vehicle) local rotX, rotY, rotZ = getElementRotation(vehicle) -- флаг: выпущена ракета или нет (для теста) local launched = false -- запустим только если данные транспорта корректны if posX and rotX then -- начальная скорость ракеты local velX, velY, velZ = rotZ/720, rotY/720 + 0.1, rotZ/720 launched = createProjectile( -- запускаем ракету getLocalPlayer(), -- источник будет - локальный игрок, т.е. ракета будет синхрится для всех 19, -- простая ракета posX, posY, posZ + 2, -- точка старта в паре метров выше 1, -- сила вылета при старте nil, -- цели у ракеты нет, куда уж попадет, туда попадет rotX, rotY, rotZ, -- углы ракеты velX, velY, velZ -- начальная скорость ракеты ) end outputChatBox( 'Ракета выпущена: ' .. tostring(launched) ) это все просто теория моя (:
Arisu Posted March 23, 2011 Author Posted March 23, 2011 Сделал. Ракеты летят рандомно, всё равно. То закручиваются, то разворачиваются и ударяют в себя, то еще чо-нибудь. Позовите в эту тему лила тоади пожалуйста, уж он то точно должен знать?
MX_Master Posted March 23, 2011 Posted March 23, 2011 моск размяк и провести свои тесты не решаешься? )) ну ты ваще даешь
Easterdie Posted March 23, 2011 Posted March 23, 2011 ракеты вылетают там где надо, но при этом, о чудо, они летят по замысловатой траектории, по самым невразумительным дугам, которые тока можно придумать, дважды я умудрился закрутить ракету над своей машиной, из которой и вылетала ракета. я так понимаю хома делал не одну попытку релиза этой ерунды и по моим и по своим соображениям, но ничего не вышло, кроме описанного выше дугообразного рандома.
MX_Master Posted March 23, 2011 Posted March 23, 2011 я же сказал, что углы для функции - могут не совпадать с углам для транспорта по желанию некоторые параметры ставьте в 0 и потом проверяйте эффект. По моему это самое интересное занятие - проверять куда полетит ракета ))
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now