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);
                    }
                }
            }
        }