Я делаю небольшую игру в Unity с Stickybombs. Я сделал это так, что, когда вы нажимаете «Правый клик», липкая бомба взрывается, уничтожает себя и создает эффект частиц для взрывов. Вот следующий код:.GetComponent () .AddExplosionForce в Unity не работает
void Update() {
if(Input.GetButtonDown("Fire2")) {
GetComponent<Rigidbody>().isKinematic = false;
GetComponent<Rigidbody>().AddExplosionForce(explosionForce, transform.position, explosionRadius, 3.0f);
Destroy(gameObject);
Instantiate (Explosion, transform.position, new Quaternion(0, 0, 0, 0));
}
}
Тем не менее, линия GetComponent() AddExplosionForce (explosionForce, transform.position, explosionRadius, 3.0f); ничего не делает. Я делаю что-то неправильно?
Вот переменные. Заранее спасибо: D
public GameObject Explosion;
private float explosionForce = 300;
private float explosionRadius = 15f;
'Сила может применяться только к активному твердому корпусу. Если GameObject неактивен, AddExplosionForce не имеет эффекта. 'Http://docs.unity3d.com/ScriptReference/Rigidbody.AddExplosionForce.html имеет ту же процедуру, что и ваш код. Мне кажется, ваш код кажется мне хорошим, как вы знаете, что эта линия ничего не делает? Разве это не влияет на другие жесткие тела, из которых вы уверены, что они не являются кинематическими? Вы пытались сыграть с 'isKinematic' в этом скрипте или увеличили радиус/силу взрыва до более высоких значений? –
Спасибо за ваш вход @MaximilianGerhardt Все жесткие тела, которые я пытаюсь воздействовать на взрыв, активны и не кинематичны. Я сделал радиус и силу значений 5000f, но безрезультатно. – Kataware
Вот изображение для одного из жестких элементов Компоненты ящика http://www.mediafire.com/view/icbfykvgppv1is0/THingy.png – Kataware