Доброго времени суток, друзья! уделите, пожалуйста, немного своего драгоценного времени
Помогите пожалуйста правильно организовать вышеупомянутую.
я уже как-то писал такое, но использовал в качестве частиц отдельные спрайты... понимаю, что это изврат. читал где-то, что намного быстрее - использовать вместо отдельных Entity квады, объедененные в один Mesh, но как это сделать ума не приложу

т.е. вроде создавать сёрфейсы у меня получается, но в каком массиве хранить идентификаторы каждого квада и их индивидуальные параметры, правильно трансформировать.
вот набросал небольшой примерчик (ниже). Не могли бы вы сделать его аналог с использованием объедененных квадов. Буду очень признателен за помощь
-----------------------Example:
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
cam = CreateCamera(): PositionEntity cam,0,0,-15
t = CreateTimer(60)
EmitterCreate (0,0,20) ; создание Эмиттера
Repeat
WaitTimer(t)
EmitterUpdate(); Обновление Эмиттера
UpdateWorld
RenderWorld
Flip(0)
Until KeyHit(1)
End
;================================================= ===================Functions
Type Emitter
Field interval, timer
Field x#, y#
Field entity
End Type
Type particle
Field entity
Field speed#
Field turn#
Field alpha#
End Type
Function EmitterCreate (x,y, interval)
e.Emitter = New Emitter
e\interval = interval
e\timer = e\interval
e\x = x
e\y = y
e\entity = CreateSprite(): SpriteViewMode e\entity,2: EntityAlpha e\entity,.5 ; создаем простенький эмиттер
End Function
Function EmitterUpdate ()
For e.Emitter = Each Emitter
; запуск частиц
e\timer = e\timer+1
If e\timer>e\interval
;================================================= ===================
p.particle = New particle
p\speed# = .1
p\turn = 1
p\alpha = .5
p\entity = CreateSprite(): SpriteViewMode p\entity,2
PositionEntity p\entity,e\x, e\y,0: RotateEntity p\entity, 0,0,EntityRoll (e\entity)
EntityAlpha p\entity,p\alpha
e\timer = 0
;================================================= ===================
EndIf
;обновление частиц
;================================================= ===================
For p.particle = Each particle
p\turn = p\turn+2
MoveEntity p\entity,0,p\speed,0
RotateSprite p\entity,p\turn
Next
Next
End Function