Improve particle effect positioning and make optional