I have a collision occuring using void OnTriggerEnter2D(Collider2D collider). From that I want to create a particle effect facing the opposite direction of the collision.
void OnTriggerEnter2D(Collider2D collider)
{
if (collider.gameObject.tag != Constants.Tags.Projectile)
return;
var projectile = collider.gameObject.GetComponent<Projectile>();
var direction = transform.position - collider.transform.position;
BloodEffect(direction);
}
private void BloodEffect(Vector2 direction)
{
if (OnHitEffect == null)
return;
var effect = Instantiate(OnHitEffect);
var pos = transform.position;
var rotation = Quaternion.LookRotation(direction);
var invertedRotation = Quaternion.Inverse(rotation);
Debug.Log($"rotation: {invertedRotation}, euler: {invertedRotation.eulerAngles}");
effect.transform.position = new Vector3(pos.x, pos.y, effect.transform.position.z);
effect.transform.rotation = invertedRotation;
}
I can’t see what is wrong. I get these wierd values in Debug.Log:
rotation: (-0.44919, -0.54610, 0.44919, 0.54610), euler: (0.00, 270.00, 78.88)