void SpawnOnCollision(Collision collision) { if (string.IsNullOrEmpty(TagCheck) || collision.gameObject.CompareTag(TagCheck)) { if (SpawnControl == SpawnControl.ByReceiver) { DecalReceiverHelper.SendCollision(collision); } else if (SpawnControl == SpawnControl.BySpawnController) { var contact = collision.contacts[0]; var point = contact.point; var normal = contact.normal; var decal = SpawnController.SpawnDecal(); decal.transform.position = point + normal * Offset; decal.transform.up = normal; decal.transform.rotation *= Quaternion.AngleAxis(Random.value * 360f * RotationJitter, Vector3.up); if (ParentOnCollide) { decal.transform.SetParent(collision.transform); } } } }