мм предложу свой вариант... Конечно драть будет больше чем спрайт, но тем не менее
1) Создаем цилиндр.
2) Перекрашиваем его вертексы следующим образом: у ствола пушкм потемнее, а на конце луча - посветлее (VertexColor в помощь)
3) Пикаем линией в направленнии пушки
4) Узнаем координаты дула, и тыкнутые координаты
5) Позиционируем цилинлр в координаты между дулом и пушкой
6) Поворачиваем цилиндр по векторам (VectorPitch and VectorYaw)
7) Скалим цилиндр, ставим альфу от .3 до .7)

пишем тип АльфаЕнтити, в котором есть поля Entity and Alpha#
9) Делаем функцию обновления элементов типа AlphaEntity
Это чтоб можно было бы какой либо обэкт плавно убрать со сцены, в данном случае луч лазера