2015-04-02 3 views
0

У меня есть 2-я игра, и я хочу, чтобы ракета нацелилась на цель, но во-первых, я хочу установить ее траекторию в каком-нибудь коллическом озерном стволе. Я не могу найти (за исключением активов единства, я не хочу платить), как это сделать, я имею в виду как цель, так и как установить траекторию. Даже правая помощь будет в порядке, Заранее благодарим!Как сделать самонаводящиеся ракеты (цель прицеливания цели)?

ответ

1

Если вы хотите, чтобы башня нацелилась на цель, просто сделайте transform.LookAt (Target.position). Вы можете использовать рулевое поведение для размещения ракет. В принципе, он откалибруется до желаемой скорости, необходимой для достижения цели. Вот пример:

//First we get the direction we need to travel in 
Vector2 direction = (Target.position - transform.position).normalized; 

//Multiply it by the maximum speed we're trying to reach 
Vector2 desiredVelocity = direction * MaxSpeed; 

//Subtract the current velocity. This is the calibration force 
Vector2 steeringForce = desiredVelocity - rigidbody2D.Velocity; 

//Apply the steering. The less the mass, the more effective the steering 
rigidbody2D.ApplyForce(steering); 

Ствол валок может быть сделано отдельно от рулевого управления/ГСН. Просто поверните на оси Z. Если вы говорите о кружении по кругу ... это немного больше. Возможно, вы захотите просто пропустить этот или жесткий код с помощью анимации.

+0

Он сказал, 2d. Используйте 'Vector2' и' rigidbody2d'. –

+0

К сожалению, об этом. Изменен код и добавлено некоторое объяснение. – JPtheK9

+0

:-) –

Смежные вопросы