Есть объект, который порезан на части.
Разрушения, должны происходить от попадания.
Добавляю на сцену, всем частям указываю RigidBody и IsKinematic = true - это для того, чтобы не рассыпалось за ранее.
Написал код:
Синтаксис:
Используется csharp
RaycastHit Hit;
if (Physics.Linecast(position, transform.position, out Hit)) {
Transform Obj = Hit.transform.gameObject;
Rigidbody rb = Obj.GetComponent<Rigidbody>();
rb.useGravity = true;
rb.isKinematic = false;
rb.AddExplosionForce(100.0f, Hit.transform.position, 50.0f, 13.0f);
}
if (Physics.Linecast(position, transform.position, out Hit)) {
Transform Obj = Hit.transform.gameObject;
Rigidbody rb = Obj.GetComponent<Rigidbody>();
rb.useGravity = true;
rb.isKinematic = false;
rb.AddExplosionForce(100.0f, Hit.transform.position, 50.0f, 13.0f);
}
Когда попадает снаряд, часть начинает отслаиваться, но она гонит, застревает и другие части тормозят ее.
Уважаемые знатоки, как решаете вы такой вопрос?
Нужно, чтобы при попадании, отлетали кусочки, и как же быть с несущими вещами, такие как стены, столбы, ведь при IsKinematik = true, не будет реагировать на верхние части. Допустим снес стену, а крыша осталась в воздухе висеть.
Ка такое избежать и правильно реализовать, помогите пожалуйста разобраться.
Владею очень малой информацией, совсем новичок, сильно не бейте.
Есть множество приложений, по разрушению, вот как же добиться такого эффекта, я уже битый день пытаюсь найти информацию, но мои поиски увенчались безрезультатно.