You can get the point where the collision occurred at, then Instantiate the blood splatter at the point of collision. You can use the normal of the collision to determine which way the particles should squirt from. Here is the reference for Collision contacts. Take a look at the second example, this shows how to use both point and normal.
function OnCollisionEnter(other: Collision)
{
if (other.CompareTag("Sword")&&!isTriggered)
{
isTriggered=true;
SwordSwing(other.contacts);
}
}
function SwordSwing(contacts:ContactPoint[])
{
playersStats = player.GetComponent(XPBar);
health -= playersStats.playersAttack - defense * .1;
// create a new blood splat
var point=contacts[0].point;
var normal=contacts[0].normal;
var rotation = Quaternion.FromToRotation(-Vector3.up, normal);
Instantiate(bloodParticle , point , rotation);
isTriggered=false;
}
You may need to fool around with the rotation. Im guessing it should go in the direction of the sword. You may even do away with the normal and just use the swords direction.