public void Bleed(SplatterActivator activator, Collision collision) { this.activator = activator; Vector3 velocity; int midLength = collision.contacts.Length / 2; if (activator.forceType == SplatterActivator.ForceType.Pierce) { velocity = activator.transform.forward; } else { var position = this.transform.position; position.y = collision.contacts[midLength].point.y; velocity = position - collision.contacts[midLength].point; } EmitAtLocation(new ContactData(collision.contacts[midLength].point, collision.contacts[midLength].normal, velocity)); }
public void Bleed(SplatterActivator activator, Collision collision) { this.activator = activator; Vector3 velocity; if (activator.forceType == SplatterActivator.ForceType.Pierce) { velocity = activator.GetComponent <Rigidbody>().velocity; } else { var position = this.transform.position; position.y = collision.contacts[0].point.y; velocity = position - collision.contacts[0].point; } for (int i = 0; i < collision.contacts.Length; i++) { EmitAtLocation(new ContactData(collision.contacts[i].point, collision.contacts[i].normal, velocity)); } }