PostSplitBehaviour.cs 990 B

12345678910111213141516171819202122232425262728
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class PostSplitBehaviour : MonoBehaviour
  5. {
  6. public Material PostSplitMat;
  7. public Vector3 ExplosionPosition;
  8. public void PostSplit(GameObject[] newGOs)
  9. {
  10. foreach (GameObject go in newGOs)
  11. {
  12. MeshRenderer renderer = go.GetComponent<MeshRenderer>();
  13. if (PostSplitMat != null)
  14. {
  15. for (int i = 0; i < renderer.materials.Length; i++)
  16. {
  17. renderer.materials[i] = PostSplitMat;
  18. }
  19. }
  20. go.transform.position = gameObject.transform.position + go.transform.position;
  21. go.transform.rotation = gameObject.transform.rotation;
  22. Rigidbody rb = go.GetComponent<Rigidbody>();
  23. rb.AddForceAtPosition(Random.rotation * Vector3.forward * Random.Range(2f, 4f), gameObject.transform.position, ForceMode.Impulse);
  24. }
  25. }
  26. }